Правильная настройка SSL для удаленного доступа к Home Assistant

Так же это исправляет ошибку «SSL handshake failed»

При настройке доступа к Home Assistant через интернет только добавив сертификат Let’s Encrypt, открыв и перенаправив порты на роутере, а так же заменив base_url в configuration.yaml на общедоступный https адрес, возникает много неудобств. Например, при пользовании в локальной сети, браузер ругается на сертификат, выданный другому домену. Или конфигуратор запускается с боковой панели через http, а нужно через https. Или наоборот. Я вообще запутался. У меня все это было, и это жутко раздражало. У меня даже Kodi перестал воспроизводить текст в речь через Google TTS. Home Assistant выдавал в логе ошибку SSL handshake failed

Все дело в не совсем правильной настройке доступа извне к Home Assistant.

Существует дополнение для HA под названием NGINX Home Assistant SSL proxy. Именно оно будет заниматься перенаправлением, вместо base_url в configuration.yaml

Начнем.

Для начала нужно установить сертификат с помощью дополнения Let’s Encrypt

Заполняем email и domains на тот, через который планируем получить доступ к home assistant через интернет. И обязательно на роутере открываем доступ к 80 порту и перенаправляем его на hassio. Это дополнение работает через этот порт, это обязательно.

Когда сертификат выпущен, нужно настроить NGINX Home Assistant SSL

Указываем свой домен и больше ничего не меняем. Сохраняем и запускаем.

Смотрим результат в логе этого дополнения, нажимая REFRESH. У меня первоначальная настройка заняла около минуты.

Так же важно убедиться, что в configuration.yaml графа base_url это ваш локальный адрес в домашней сети. По http.

На роутере нужно открыть 443 порт и перенаправить его так же на 443 к hassio. NGINX Home Assistant SSL будет сам перенаправлять на 8123 в локальную сеть.

В итоге, в домашней локальной сети мы можем пользоваться нормальным быстрым http, что для IOT устройств очень важно. А доступ из интернета к Home Assistant будет идти через https, что тоже очень важно, и адрес можно вводить без указания порта

 

 

 

 

Поделитесь с друзьями
Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

30 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Sem2000
Sem2000
5 лет назад

Два непонятных момента.
1. Где вы взяли аддон Let’s Encrypt ? Неплохо бы ссылку на него. Лично я не нашел.
2. Поясните пожалуйста что именно в домене прописывать ? Это адрес, порт или workgroup ?

yanovik
yanovik
5 лет назад

Можно увидеть настройку http самого HA? и каким образом использовать ssl и https для аддонов? Я понимаю, что с опцией ingress все упростится, но не все аддоны обновят я думаю.

Дмитрий
Дмитрий
5 лет назад
Ответить на  kvv

У вас раньше была статья про Keenetic. Еще пользуйтесь? Подскажите, возможно их доменное имя использовать?

Дмитрий
Дмитрий
5 лет назад
Ответить на  kvv

Спасибо. Поищу. Активно интересовался с год назад. И писал в поддержку Keenetic и на форум Home Assistant. Так ничего и не получилось, но NGINX я не пробовал.

concept
concept
5 лет назад

А как же защита домашней сети? Открывать 80 и 443 порт наверное не совсем хорошая идея?

concept
concept
5 лет назад
Ответить на  kvv

ВПН поднят. Вот только, для гугл хоум нужен доступ по ssl.
Возможно ли хотя бы 80 порт закрыть, он же нужен только для выдачи сертификата Let’s Encrypt?

concept
concept
5 лет назад
Ответить на  kvv

очень было бы интересно послушать про ваш опыт использования Nginx Proxy Manager. Пока все же от ssl доступа отказаться не могу, уж очень всем домашним нравится управлять домом с помощью голосового помощника.

wladmord
wladmord
4 лет назад

У меня аддоны Let’s Encrypt и NGINX Home Assistant SSL proxy не стартуют после перезагрузки, хотя «start on boot» включен и в логах NGINX Home Assistant SSL proxy выдает ошибку (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/ssl/fullchain.pem’,’r’) error:2006D080:BIO routines:BIO_new_file:no such file). Подскажите почему не видит директорию?

Владимир
Владимир
4 лет назад

Доброго времени суток. Duck DNS не будет при этом работать?

Алмаз
Алмаз
4 лет назад
Ответить на  kvv

Здравствуйте, помогите пожалуйста, установил аддон, залез в web интерфейс, всё настроил как в гифке, на уровне настройки без сертификата еще не входит на страничку сервера пишет ошибка dns.

Владимир
Владимир
4 лет назад

Если не сложно подскажите как настроить Nginx Proxy Manager с Duck DNS. А то не выходит настроить ни как.

Владимир
Владимир
4 лет назад

Да конечно. Через него Google Assistant и Алиса настроены.

Владимир
Владимир
4 лет назад

Сам сертификаты перевыпускает

Konstantinhaf
Konstantinhaf
4 лет назад

Жили как-то несколько лет назад без всяких сертификатов, сейчас приходится бегать по всяким Хострадарам сломя голову, разыскивать хостера с дешёвым или бесплатным SSl.

Евгений
4 лет назад

При настройке через nginx работает всё за исключением интеграции с яндеск станцией через yandex_smart_home. При этом напрямую при подключении сертификатов в конфиге HA работает интеграция, но лог заваливает ошибками верификации сертификата от Let’s Encrypt (python3.7), нигде на форумах решения проблемы нет. Сегодня просидел всю ночь (часов 10) в попытках решить вопрос, но пока не преуспел. Придётся видимо, вносить правки в код самого HA для того, чтобы игнорить ошибки верификации.

VitalyK.
VitalyK.
3 лет назад
Ответить на  Евгений

У меня были проблемы, аналогичные Вашим. Долго решал их, наконец разобрался. Если настроен и работает nginx, то секции http в configuration.yaml быть не должно. И при работающем nginx для работы yandex_smart_home в настройках диалога ВЕЗДЕ, где указывается ваш публичный адрес, его нужно указывать БЕЗ УКАЗАНИЯ ПОРТА (в отличие от примера в документации).

Дмитрий
Дмитрий
3 лет назад

Можете помочь настроить в Home assistant привязку домена .ru? То есть чтобы по адресу домена выдавал home assistant? статический ip есть. Или на крайний случай через Duck DNS. и так и так не получается. Буду благодарен.

Bagunda
Bagunda
1 год назад

Как настроить https/ssl на VPS/VDS сервер, который находится в интернете? Который имеет внешний статический IP адрес.
Блин… В интернете вообще никто это не рассказывает…
Мне не требуется перенастраивать роутер, мне не нужен DuckDNS