Home Assistant: убираем за NGINX и подключаем сертификаты Получаем доступ к Home Assistant по протоколу HTTPS

Всем привет!
В предыдущей заметке об установке Home Assistant в операционной системе FreeBSD в конце материала я упомянул о “как это все убрать за NGINX с бесплатными сертификатами от Let’s Encrypt” и дабы не затягивать решил побыстрее об этом написать:)
Как и в прошлом материале мы будем использовать систему FreeBSD, но рецепт универсален кроме установки программ, поэтом его можно использовать в различных операционных системах включая Windows:-)

Я считаю, что Home Assistant и NGINX установлены на одном хосте, в принципе ничего вам не мешает разнести их по разным хостам.
В данном примере рассмотрим пошаговую настройку связки NGINX и Home Assistant, поэтом первым делом делаем запись в DNS обслуживающий наш домен о хосте по типу:

Получив имя третьего уровня, в примерах конфигурационных файлов будет указано как hass.mydomain.ru.
Ставим нужный нам софт, будем ставить через pkg.

Разрешаем запуск NGINX:

Создадим две директории (первая для хранения конфигураций виртуальных web-серверов, вторая будет корневой папкой для hass.mydomain.ru):

Сразу создадим директорию для web логов для hass.mydomain.ru:

Укажем NGINX обрабатывать конфигурационные файлы из созданной нами директории:

В низу файла (на самом деле не принципиально где:)) перед закрывающей фигурной скобкой впишем:

Тем самым мы подключаем все файлы с расширением .conf из директории /usr/local/etc/nginx/conf.d
Создадим конфигурационный файл виртуального web-сервера:

Проверим конфиг NGINX на корректность:

Укажем Нome Assistant поднимать web-интерфейс на localhost:

Запустим Hоme Assisitant и проверим верна ли наша настройка:

Запустим NGINX:

Заходим через браузер по адресу http://hass.mydomain.ru, авторизуемся и если все в порядке, то идем дальше, если нет, то сверяем конфиги (по данному how-to были осуществлены две успешных инсталляции).

Получаем сертификат от  Let’s Encrypt, указав корневую директорию web-сервера (-w) и имя домена (-d):

На вопрос о методе аутентификации – выбираем второй вариант с помещением файла в корневую директорию сервера:

Получаем поздравление:

– Congratulations! Your certificate and chain have been saved at:
/usr/local/etc/letsencrypt/live/hass.maydomain.ru/fullchain.pem
Your key file has been saved at:
/usr/local/etc/letsencrypt/live/hass.maydomain.ru/privkey.pem
Your cert will expire on 2020-08-16.

Перенастроим NGINX для ssl соединения с выданным нам сертификатом:

Проверим корректность настройки NGINX:

Перезагрузим конфигурацию NGINX:

В последней конфигурации NGINX мы указали редирект на https соединение:

Заходим на hass.mydomain.ru, если все правильно сделали, то соединение будет защищенным:
Сертификат нам выдали на срок 3 месяца, добавим задание в corntab для автоматической пролонгации сертификата:

Что даст нам проверку сертификатов два раза в день и перезагрузку конфигурации NGINX, без которой NGINX не увидит новых сертификатов после их обновления.
На этом вроде все:)

Оставить комментарий

avatar
  Подписаться  
Уведомление о