aktuell nutze ich ein Let’s Encrypt Zertifikat über eine DuckDNS-Domäne. Hierzu gabe es ja diverse Anleitungen. Nachdem ich aber immer wieder Zugriffsprobleme hatte und auch vermehrt negative Meldungen im Netz vorhanden sind, würde ich gerne eine Domäne bei deSEC nutzen. Eine Domäne habe ich dort schon eingerichtet. Dann aber beginnen schon die Probleme. Was muss ich weiter einrichten, damit das Let’s Encrypt-AddOn in HA auch das Zertifikat erzeugt? Ich würde hierzu gerne zwei Sub-Domäns (test / prod) nutzen.
Wer kann helfen?
Eine Möglichkeit, Du verwendest den Nginx Proxy Manager (Add-ON) und erstellst die in NPM die jeweiligen Proxy Hosts und erstellst Dir in NPM dann das zur Domain passende Zertifikat.
Port Weiterleitung port 80 und 443 auf den NPM und in der configuration.yaml den NPM als vertrauenswürdigen Proxy eintragen.
Wenn Du NPM als Add-on verwendest tust, musst Du die Docker IP Adresse angeben, z.B. 172.17.0.3
Oder die des NPM Hosts, wenn dieser eigenständig läuft.
Weitere Möglichkeit wäre einen Cloudflare Tunnel zu verwenden. Hier musst Deine Domain zu Cloudflare umziehen. Dazu gibt es 100te von Tutorials im Netz. Vorteil hier, Du musst keinen Port im Router weiterleiten.
ich benötige keinen externen Zugriff. Ich benötige nur das Zertifikat. Den externen Zugriff realisiere ich über einen VPN-Tunnel.
Ich benötige also die Hilfe bei deSEC. Was muss ich wo eintragen, damit das Let’s Encrypt AddOn das Zertifikat erstellen kann?
Hier meine aktuellen Einstellungen. Die IP-Adressse ist natürlich korrekt eingetragen.
Warum dann der Umweg über die Domain und ein Zertifikat?
Du kannst doch bei einer VPN Verbindung mit Deinem Netz direkt über die IP Adresse auf Home Assistant zugreifen.
Einen A-Record setzt Du auf eine extern erreichbare IP Adresse, also Deinen WAN IP Adresse und nicht auf eine lokale IP in Deinem Netzwerk. Aber das Brauchst Du doch alles gar nicht, wenn Du VPN nutzen tust.
Leider doch, da TexttoSpeach das Zertifikat prüft und ich hier nicht mit einem selbst signierten Zertifikat arbeiten kann. Deswegen nutze ich auch aktuell ein Zertifikat mit einer “DuckDNS”-Adresse.
Auch intern nutze ich nur noch https-Verbindungen (im Normalfall im einem selbst erstellen Zertifikat).
Damit Du ein gültiges Zertifikat ziehen kannst. Musst Deine Domain von außen erreichbar sein.
Also Als A-Record Deine WAN Adresse eintragen und im Router die Port Weiterleitung auf Home Assistant erstellen.
hier ein Auszug aus dem Logfile des Let’s Encrypt AddOn:
Certbot failed to authenticate some domains (authenticator: dns-desec). The Certificate Authority reported these problems:
Domain: ha.dedyn.io
Type: dns
Detail: During secondary validation: DNS problem: NXDOMAIN looking up TXT for _acme-challenge.ha.dedyn.io - check that a DNS record exists for this domain
Hint: The Certificate Authority failed to verify the DNS TXT records created by --dns-desec. Ensure the above domains are hosted by this DNS provider, or try increasing --dns-desec-propagation-seconds (currently 60 seconds).
Some challenges have failed.
Auch hier trägst Du unter “current IP” Deine öffentliche IP Adresse ein. Also die von der Du aus von extern erreichbar bist. Im Router muss Du dann dafür sorgen, über eine Port Weiterleitung, dass Du bei aufrufen der Domain über dem Browser am Richtigen Ort in Deinem Netzwerk landest.
Also z.B https://meineDomain.duckdns.org
Eingehender Port 443 weiter leiten zu IP-Adresse von Home Assistant auf den Port 8123, wenn nichts anders eingestellt.
Ich habe weder eine Portweiterleitung noch eine WAN-Adresse bei Duck DNS verwendet. Die Möglichkeit eine Interne IP-Adresse zu verwenden bietet ja auch nicht jeder DNS-Anbieter.
Das Problem schein laut Protokoll auch eher im TXT-Record zu liegen.
Leider habe ich von diesen Record-Typen keien Ahnung.
Wenn Du über das Letsencrypt Add-On das Zertifikat über die HTTP challenge erstellen willst.
Dann Braucht es eine Port Weiterleitung, in dem Fall eingehender Port 80 (HTTP)
Und einen A-Record auf Deinen WAN Adresse.
Nach dem du das Zertifikat erstellt hast, kannst den den A-Record und die Port Weiterleitung ja wieder entfernen. Nur bei der Aktualisierung musst Du es wieder einrichten.
Wenn Du die DNS challenge verwenden tust. Braucht es keine Port Weiterleitung, den A-Rcord aber wohl.
Nach Deiner Beschreibung habe ich ja auch DuckDNS konfiguriert. Dies funktioniert.
Jetzt möchte ich aber anstatt DuckDNS deSEC nutzen. Allerdings verstehe ich nicht, was ich alles bei deSEC eintragen muss. Bei DuckDNS war es ja nur die IP-Adresse von HA zum ausgewählten Domainnamen.
Hatte es mittlerweile dann auch korrekt eingerichtet und ein Zertifikat erhalten. Hatte aber ein Problem mit der Subdomain. Auch das hat sich mittlerweile geklärt. Dummerweise hatte ich in der Zwischenzeit die Domain bei deSEC wieder gelöscht. Dann wollte ich es mit einer neuen Domain testen und ich bin wieder gescheitert. Ich vermute, dass es ein gewisse Zeit dauert, bis die Domain zur Verfügung steht. Jetzt warte ich erst einmal, ob mir der deSEC-Support wieder meine gelöschte Domain bereitstellen kann
Danke für die Geduld und Hilfe.
Viele Grüße
Jürgen