Uruchomienie SSL

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.

Konfiguracja Let’s Encrypt:
email: s*****.m*****@***.
domains:

  • ha.ms.*****.pl
    certfile: fullchain.pem
    keyfile: privkey.pem
    challenge: http
    dns: {}

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.

Dlaczego to nie działa?

Domena nie powinna być z www.ha.ms masz chyba ha.ms

Masz rację, ale ja nigdzie w konfiguracji nie używam www.

Nie wiem czy Let’s Encrypt nie wymaga pełnej na nazwy.

Moja domena to ha.ms.****.pl Gwiazdki to anonimizacja, bo różni ludzie czytają to forum :slight_smile:

Zmieniłem serwer DNS na inny. W logach dalej to samo. I tu ciekawostka, jak wklejam w przeglądarkę adres z loga http://ha.pswbp.pl/.well-known/acme-challenge/p0F7TSRib_hR7wGIoiMp4BnBA48F8JqtHcxnNoJtLpc, to ona zamienia mi ten wpis na https://192.168.76.14:80/ gdzie ja nigdzie takiej podsieci nie używam. Nie ogarniam tej kuwety…

[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.

Należy czytać z logów:

"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."

Jesteś pewny, że nazwa ha.ms.xxxxx.pl (zamieniłem gwiazdki na x aby było bardziej widoczne) wskazuje na IP Twojego UTM’a, sprawdź na Network Tools: DNS,IP,Email (wpisz swoją domenę ha.ms.xxxxx.pl), np.

image

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.

Wpis w DNS ha.pswbp.pl zrobiłem dla testów dziś. Jednak dla mojego drugiego DNS’a ha.ms.one.pl (ewentualnie ms.one.pl) wpis jest od dawna, więc propagacja nie powinna mieć wpływu. Poza tym w logach Encrypta adres rozwiązany jest prawidłowo:
http://ha.ms.one.pl/.well-known/acme-challenge/QAWsLVg_2XRILbHjj26WOov-dvwBuOWT40nTxt7fLnQ
[91.205.91.70]: "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

To był problem z cache przeglądarki :slight_smile:

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 :wink:.

Nie, nie. Chodzi tylko o to przekierowanie na lokalny IP. Jak rozwiąże problem, to się pochwale dla potomnych. Szukamy dalej :frowning:

:thinking: to co nie działa oprócz SSL’a?

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.

Konfiguracji na routerze jestem pewien:

Sprawdź czy pod http://ha.ms.one.pl masz interfejs HA. Zastanawia mnie fakt, że podczas startowania Encrypta w logach UTM nie widzę próby połączenia.

Pod tym linkiem masz to co poniżej:

Wyłacz maszynę z HA a wg mnie nadal będziesz miał to samo.

Na routerze powinieneś też poza portem 80 przekierować port 443. Tu masz instrukcje z której wszystko śmiga (sam tak mam).

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):

BTW: nie wystawia się panelu zarządzającego firewallem do internetu, to taka dobra stara szkoła bezpieczeństwa.

I tu jest pies pogrzebany. Piszę już do dostawcy.
Dzięki za zainteresowanie i pomoc :slight_smile:
Jak nam dobrze poszło, to może zerkniesz na Integracja z Midea AC :slight_smile: