Wygaśnięcie certyfikatu SSL - nagły brak bezpiecznego dostępu z zewnątrz

Od kilkunastu dni nie mam bezpiecznego wjazdu do HA z internetu. Komunikaty błędów podają, że wygasł mój certyfikat SSL.

Wobec tego wygenerowałem nowy token na koncie duckdns.org i przeinstalowałem ten dodatek. Oto log uruchomienia dodatku duckdns po tej operacji:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
# INFO: Using main config file /data/workdir/config
+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account URL...
+ Done!
[12:06:07] INFO: OK
xx.xx.xx.xx

NOCHANGE
[12:06:07] INFO: Renew certificate for domains: xxxxxx.duckdns.org and aliases: 
# INFO: Using main config file /data/workdir/config
 + Creating chain cache directory /data/workdir/chains
Processing xxxxxx.duckdns.org
 + Creating new directory /data/letsencrypt/xxxxxx.duckdns.org ...
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 1 authorizations URLs from the CA
 + Handling authorization for xxxxxx.duckdns.org
 + 1 pending challenge(s)
 + Deploying challenge tokens...
OK + Responding to challenge for xxxxxx.duckdns.org authorization...
 + Challenge is valid!
 + Cleaning challenge tokens...
OK + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!

Ale to nie załatwiło sprawy do końca, bo przeglądarka wyświetla poniższe ostrzeżenie:

Wnioskuję z tego, że data certyfikatu jest błędna. Nie rozumiem dlaczego, skoro przed chwilą wygenerowałem nowy certyfikat, co widać w logu powyżej [ + Creating fullchain.pem...]. Niepokojący jest chyba jednak brak informacji o pliku privkey.pem - nie wiem czy to ma znaczenie, bo ogólnie nie bardzo qumam tematu certyfikatów…

I nawet jeśli kliknę w link Continue to xxxxxx.duckdns.org (unsafe), to i tak wjazd do HA ogranicza się do poniższej pętli nieskończonej:

image

Czy możecie mnie oświecić, co jest nie tak i jak to ogarnąć?

W standardowych systemach: po odnowieniu certyfikatu należy nowy certyfikat wgrać na serwer a serwer (usługę) ponownie uruchomomić dlatego proponuje zrestartować całe HA ale przed tym sprawdź czy masz dostep do HA po adresie lokalnym http://homeassistant.local:8123 .

No właśnie tego się obawiałem…

Ba, ale jak to zrobić!? Skąd go pobrać? Który to z plików - fullchain.pem czy privkey.pem? Gdzie go (lub je) umieścić w strukturze plików serwera?

Wjazd lokalny po http (http://192.168.x.x. lub http://home-assistant:8123) mam do HA otwarty, tu na szczęście wszystko ładnie śmiga…

Dodatek robi to automatycznie, sprawdź jaką datę mają pliku fullchain.pem i privkey.pem w katalogu \\homeassistant.local\ssl, tam (zgodnie z konfiguracją dodatku i konfiguracją HA, może masz inną konfigurację, sprawdź HTTP - Home Assistant) jest trzymany certyfikat i klucz. Certyfikat zostaje zawsze zaczytany po każdym uruchomieniu HA (nie dotyczy szybkiego przeładowania konfiguracji).

1 polubienie

A ja, durny, byłem przekonany, że wystarczy właśnie szybkie przeładowanie… :wink:
Zrobiłem pełen restart i teraz już wszystko śmiga! Dziękuję za pomoc! :coffee:

Ja okresowo miałem problem z certyfikatami ssl… i dostępem przez https na serwer HA zarówno lokalnie jak i zdalnie.

http:
  #  ssl_certificate: /ssl/fullchain.pem
  #  ssl_key: /ssl/privkey.pem
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.6
    - 172.30.33.5
    - 172.30.33.4
    - 172.30.33.7
    - 172.30.33.8
    - 172.30.33.9
    - 172.30.33.3
    - 172.30.33.2

dopiero problem ustał po dodaniu adresów serwerów certyfikatów ssl (w pliku configuration.yaml) gdzie były wystawiane/weryfikowane? - adresy serwerów były widoczne w logu HA.

podobnie jak wyżej zostało opisane restart serwera pomagał tylko na jakiś czas po czym problem wracał.

1 polubienie

@Marcin_Domański
Taki zapis

  trusted_proxies:
    - 172.30.33.0/24

czyli cała podsieć Dockera, powinien załatwić problem na stałe

2 polubienia

Dokładnie tak. Problem załatwiony na stałe wpisem całej podsieci.