Так же это исправляет ошибку «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, что тоже очень важно, и адрес можно вводить без указания порта