Home Assistant

Как настроить https ssl на VDS/VPS для Home Assistant

В статье по ссылке описано «как настроить https ssl для Home Assistant, который находится за NAT (за домашним роутером), когда провайдер выдаёт серый IP адрес».

Но что если надо установить и настроить Home Assistant на VPS/VDS сервер? Там выдаётся белый IP адрес, поэтому не нужны сервисы типа DuckDNS и настройка проброса портов в роутерах.

Схема такая:

Когда вводим в адресной строке браузера адрес example.com, то на нашем сервере Ngnix примет этот запрос на порту 443. Предварительно его нужно настроить по приведённой выше ссылке. И в тех настройках указано, что переадресовывать эти запросы на http://127.0.0.1:8123.

map $http_upgrade $connection_upgrade {
default upgrade;
» close;
}

server {
# Update this line to be your domain
server_name example.com;

# Это не надо изменять. Обращения по http на порт 80 переадресовываем на https 443
listen [::]:80 default_server ipv6only=off;
return 301 https://$host$request_uri;

}

server {
# Укажите здесь ваш домен (example.com или test.example.com)
server_name example.com;

# Убедитесь, что по этому пути присутствуют файлы
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

# Убедитесь, что по этому пути присутствует файл
ssl_dhparam /etc/nginx/ssl/dhparams.pem;


# Это не надо изменять
listen [::]:443 ssl default_server ipv6only=off http2;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
ssl_protocols TLSv1.2;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;

proxy_buffering off;

location / {
    proxy_pass http://127.0.0.1:8123;
    proxy_set_header Host $host;
    proxy_redirect http:// https://;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
}

}

В Home Assistant в configuration.yaml должны быть прописаны такие магические символы:

http:
use_x_forwarded_for: true
trusted_proxies:
— 127.0.0.1

Скорее всего, это также успешно будет работать, если сделан проброс порта через OpenVPN или другой VPN.

Несколько месяцев назад я пробовал сделать это на Apache2, но не получалось. Толи я схему до конца не понимал, толи (как люди пишут) сделать это через Apache очень сложно или не возможно.

Вот эта моя статья в нормально читаемом виде с подсветкой синтаксиса: https://community.home-assistant.io/t/how-to-set-up-https-ssl-on-vds-vps-for-home-assistant/580305

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *