Zabrałem się za konfigurację SSL dla mojego HA. Posiadam własną domenę, więc DuckDNS odpuściłem. Let’s Encrypt zainstalowany, skonfigurowany, ale się nie podnosi. Domena ha.ms.*****.pl prawidłowo wskazuje adres IP mojego UTM’a, DNAT z WAN na port 80 HA zrobiony i działa prawidłowo.
Log Let’s Encrypt:
[s6-init] making user provided files available at /var/run/s6/etc…exited 0.
[s6-init] ensuring user provided files have correct perms…exited 0.
[fix-attrs.d] applying ownership & permissions fixes…
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts…
[cont-init.d] file-structure.sh: executing…
[cont-init.d] file-structure.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[20:57:11] INFO: Selected http verification
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ha.ms..pl
Waiting for verification…
Challenge failed for domain ha.ms..pl
http-01 challenge for ha.ms.*****.pl
Cleaning up challenges
Some challenges have failed.
IMPORTANT NOTES:
The following errors were reported by the server:
Domain: ha.ms..pl
Type: unauthorized
Detail: Invalid response from http://ha.ms..pl/.well-known/acme-challenge/AZNUu5FMr1t2hbx4ITB2YePvXfKIIsB7OkscJ5WL1Vo
[.205.91.]: “\r\n<html”
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.
Your account credentials have been saved in your Certbot
configuration directory at /data/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
[cont-finish.d] executing container finish scripts…
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-init] making user provided files available at /var/run/s6/etc…exited 0.
[s6-init] ensuring user provided files have correct perms…exited 0.
[fix-attrs.d] applying ownership & permissions fixes…
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts…
[cont-init.d] file-structure.sh: executing…
[cont-init.d] file-structure.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[15:11:51] INFO: Selected http verification
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ha.pswbp.pl
Waiting for verification…
Challenge failed for domain ha.pswbp.pl
http-01 challenge for ha.pswbp.pl
Cleaning up challenges
Some challenges have failed.
IMPORTANT NOTES:
The following errors were reported by the server:
Domain: ha.pswbp.pl
Type: unauthorized
Detail: Invalid response from http://ha.pswbp.pl/.well-known/acme-challenge/p0F7TSRib_hR7wGIoiMp4BnBA48F8JqtHcxnNoJtLpc
[91.205.91.70]: “\r\n<html”
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.
[cont-finish.d] executing container finish scripts…
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
Zakładam, że masz TTL=24h (czas propopagacji zmian) na rekordzie A i zmiana w DNSie nie jest jeszcze widoczna przez serwery Let’s Encrypt.
Jak pokazałem powyżej w publicznym internecie ta nazwa wskazuje na publiczny adres IP, u Ciebie na lokalny adres IP, to jest możliwe jeżeli robisz mapowanie w pliku hosts lub w sieci lokalnej masz postawiony wewnętrzny serwer nazw DNS, nic nowego, tak też się robi z pewnych względów.
Wszystkie wskazane przez Ciebie nazwy FQDN kierują na jeden adres IP czyli aby to działało poprawnie system musi obsłużyć wirtualne hosty (VirtualHost) a tego HA nie obsługuje natywnie, nie jestem pewny ale dodatek Add-on: Nginx Proxy Manager powinien to ogarnąć.
Aktualnie pod żadną z nazw, np. pod ha.ms.one.pl nie zgłasza się okno logowania HA, kiedykolwiek się pokazało?
Jeżeli sam rozwiązałeś problem powinieneś usunąć niepotrzebne wpisy na forum opisujące ten problem aby inni (czytaj np. ja) nie tracili czasu na rozwiązane problemy .
VirtualHost (name-based) konfigurujemy jeżeli chcemy mieć pod jedną instancją serwera www kilka podstron (na jednym adresie IP).
W moim przypadku, jak skonfiguruje DNAT na port 8123, to pod linkiem http://ha.ms.one.pl:8123 zgłasza się interfejs HA.
To, że kilka domen wskazuje na mój IP nie ma tu znaczenia, bo i tak pod tymi nazwami ma się zgłaszać interfejs HA.
To teraz zrob na routerze przekierowanie publiczne IP port 80 na lokalne IP port 8123 i też powinno działać jak wpiszesz: http://ha.ms.one.pl ale teraz cos już na tym działa i kieruje na:
<script language="JavaScript" type="text/javascript">
var SSLPort ='80';
var SSLHostIp ='192\x2e168\x2e76\x2e14';
function LoadFrame()
{
window.location="https://" + SSLHostIp + ":" + SSLPort;
}
</script>
</head>
<body class="mainbody" onLoad="LoadFrame();">
Sprawdź najpierw dokładnie konfigurację na routerze.
Zatrzymałem. Przy okazji naprowadziłeś mnie na jedną rzecz. Adres IP 192.168.76.14 nie należy do mnie. To jest WAN routera mojego dostawcy. Mam usługę stałego, publicznego IP i usługę 1:1 NAT, ale wygląda na to, że nie do końca ona działa.
Znam lokalnych ISP, którzy pozwalają na NAT 1:1 z wyłączeniem portu http (TCP 80) z uwagi na kwestie bezpieczeństwa.
Proste skanowanie adresu ha.ms.one.pl i widać, że na porcie http jest inny serwer http niż na na porcie https (tam masz już podpięty self signed certificate ale z innej domeny fw.ms.one.pl):