Let's Encrypt/LAN: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 83: Zeile 83:
  # certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d home.example.com
  # certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d home.example.com


== Testing ==
== Test ==
If you didn’t do this yet, you need to forward the ports from your router to the Raspberry Pi.  
Wenn Sie dies noch nicht getan haben, müssen Sie die Ports von Ihrem Router an den Raspberry Pi weiterleiten.  
* For Home Assistant it is 8123/tcp.
* Für Home Assistant ist es 8123/tcp.


; Local network
; Lokaler Netzwerkzugriff
Access Home Assistant now with in this example: [https://rpi.home.example.com:8123/ https://rpi.home.example.com:8123] and the certificate is valid for the domain your using! Hurray!
auf Home Assistant jetzt mit in diesem Beispiel: [https://rpi.home.example.com:8123/https://rpi.home.example.com:8123] und das Zertifikat ist für die von Ihnen verwendete Domain gültig! Hurra!


;External access via the internet
;Externer Zugriff über das Internet
Access Home Assistant now with in this example: [https://external.home.example.com:8123/ https://external.home.example.com:8123] and the certificate is valid for the domain your using again.
Zugriff auf Home Assistant jetzt mit in diesem Beispiel: [https://external.home.example.com:8123/ https://external.home.example.com:8123] und das Zertifikat ist wieder für die von Ihnen verwendete Domain gültig.


[[Kategorie:Let's Encrypt]]
[[Kategorie:Let's Encrypt]]

Version vom 15. Dezember 2024, 20:27 Uhr

Let's Encrypt im LAN

Ich habe Home Assistant mit HTTPS-Fernzugriff, aber es ist nicht möglich, Home Assistant im lokalen Netzwerk zu erreichen, ohne die Fehlermeldung "Ihre Verbindung ist nicht privat" zu erhalten.

  • Das liegt daran, dass Ihre lokale IP oder URL nicht im SSL-Zertifikat aufgeführt ist.
  • Und es ist nicht möglich, die Home Assistant-App für Android zu verwenden, weil der SSL-Fehler auftritt.
  • Ich habe keine guten Lösungen im Internet gefunden, aber ich habe eine einfache Lösung gefunden, die in diesem Beitrag beschrieben wird.
  • Natürlich können Sie diese Lösung auch für andere Anwendungen als Home Assistant verwenden.

Was Sie brauchen

  • Eine eigene Domain mit Zugriff auf das DNS
  • Den (Linux-)Server in Ihrem lokalen Netzwerk mit Root-Rechten, in meinem Fall einen Raspberry Pi.

Certbot installieren

sudo apt install certbot
certbot --version

Installation von acme-dns-certbot-joohoi

Da ich im Netzwerk keinen Port 80 für die ACME-Verifizierung zur Verfügung habe, verwende ich die DNS-01-Verifizierung.

$ wget https://github.com/joohoi/a,cme-dns-certbot-joohoi/raw/master/acme-dns-auth.py
$ chmod +x acme-dns-auth.py
$ vi acme-dns-auth.py
#!/usr/bin/env python3
sudo mv acme-dns-auth.py /etc/letsencrypt/


Erhalt der Zertifikate

Wir werden nun ein Wildcard-Zertifikat für die Subdomain-Startseite Ihrer Domain generieren.

  • Ich verwende die Subdomain-Startseite und Sie erhalten das Ergebnis
  • .home.example.com

Führen Sie nun die Generierung des Wildcard-Zertifikats aus:

# certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d home.example.com

Mit diesem Skript erhalten Sie den CNAME-Eintrag für die DNS-Validierung, der wie folgt aussieht: Ausgabe von acme-dns-auth.py: Bitte fügen Sie Ihrer Haupt-DNS-Zone den folgenden CNAME-Eintrag hinzu:

_acme-challenge.home.example.com CNAME a14de1b9-e910-4d91-18bf-07a3763b88e6.auth.acme-dns.io.

Warten auf Bestätigung...

Melden Sie sich bei Ihrem Domain-Anbieter an und fügen Sie Ihrer Domain die folgenden Einträge hinzu:

Hostname Type Value
_acme-challenge.home.example.com CNAME a14de1b9-e910-4d91-18bf-07a3763b88e6.auth.acme-dns.io.
home.example.com A
rpi.home.example.com A
extern.home.example.com CNAME home.example.com
Erläuterung
  • _acme-challenge.home.example.com: für die ACME-DNS-Verifizierung (zum Beispiel: a14de1b9-e910-4d91-18bf-07a3763b88e6.auth.acme-dns.io.).
  • Hinweis: Dies kann ohne Punkt nach dns.io erfolgen
  • home.example.com: Die öffentliche IP Ihres Routers
  • rpi.home.example.com: Die lokale IP-Adresse des Raspberry Pi (Beispiel: 192.168.1.5)
  • extern.home.example.com: Dies ist die externe URL, über die Sie Ihre Anwendung (Beispiel Home Assistant) erreichen können

Nachdem Sie die DNS-Einträge hinzugefügt haben, müssen Sie möglicherweise eine Weile warten, bis die neuen DNS-Einstellungen im Internet verbreitet werden.

Jetzt können Sie das Certbot-Tool erneut starten und erhalten die Zertifikate erfolgreich!

  • Wenn es noch nicht erfolgreich ist, warten Sie bitte und versuchen Sie es erneut oder überprüfen Sie Ihre DNS-Einträge.
  • Möglicherweise haben Sie einen Fehler mit dem _acme-challenge.home.example.com-Eintrag gemacht.
# certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d home.example.com

Test

Wenn Sie dies noch nicht getan haben, müssen Sie die Ports von Ihrem Router an den Raspberry Pi weiterleiten.

  • Für Home Assistant ist es 8123/tcp.
Lokaler Netzwerkzugriff

auf Home Assistant jetzt mit in diesem Beispiel: [1] und das Zertifikat ist für die von Ihnen verwendete Domain gültig! Hurra!

Externer Zugriff über das Internet

Zugriff auf Home Assistant jetzt mit in diesem Beispiel: https://external.home.example.com:8123 und das Zertifikat ist wieder für die von Ihnen verwendete Domain gültig.