В статье по ссылке описано «как настроить 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