Внешний доступ по SSL к HA для тех, у кого:
- белый IP (статический или динамический);
- HA установлен в докер (или venv);
- доменное имя получено через duckDNS
- закрыт 80 порт.
Ставим в докер образ linuxserver/letsencrypt, в нём кроме самого letsencrypt есть nginx прокси.
Настройка описана тут:
https://blog.linuxserver.io/2019/04/25/letsencrypt-nginx-starter-guide/Вот здесь есть видео по настройке, можно делать по нему:
https://youtu.be/oN1qPl3Yve8В видео автор открывает 80 порт и настраивает nginx для его прослушки, это можно не делать, вот эти строчки из его инструкции под видео не надо добавлять:
server {
listen 80;
server_name
mydomain.duckdns.org;
return 301 https://$host$request_uri;
}
Ну и портейнер само-собой по желанию, как по мне доступ к нему из вне не нужен.
В итоге letsencript соединяется с duckDNS напрямую для получения и продления сертификата, открытый 80 порт НЕ НУЖЕН! Только 443 для доступа к сайту.
Есть ограничение: сертификат будет только wildcart, то есть доступ по адресу
mydomain.duckdns.org настроить не получится, но можно заходить по настроенным сабдоменам, т.е.
ha.mydomain.duckdns.org,
portainer.mydomain.duckdns.org etc.