Let’s Encrypt needs normally access via port 80 and 442 to the device that requests a certificate.
This article describes how to configure the necessary firewall rules.
Let’s Encrypt needs normally access via port 80 and 442 to the device that requests a certificate.
This article describes how to configure the necessary firewall rules.
Habt ihr einen Pi-hole in eurem Netzwerk am Laufen, dann könnt ihr ein gültiges Let´s Encrypt Zertifikat nutzen um eure internen IP-Adressen ganz einfach mit einem gültigen Zertifikat auszustatten und über eure eigenen Domain aufrufen.
In einer Synology könnt ihr mehrere selbst erstellte Zertifikate verwalten und für eure Domains und Sub-Domains verwenden.
Synology NAS bietet einen Reverse Proxy an, der zum einen Adressen von Synology-Diensten umsetzen kann als auch Adressen von anderen Geräten und Diensten.
In einem früheren Beitrag habe ich beschrieben, wie die eigene Synology NAS mit einer Port Forwarding auf der FRITZ!Box mit einer eigenen Domain über das Internet erreichbar gemacht wird. Dort habe ich Anpassungen an der Firewall auf der Synology vorgenommen, um die einzelnen Dienste zu erreichen.
Es gibt aber auf dem NAS eine elegantere Lösung, um den Speicher und dessen Dienste zu erreichen und zwar mit Hilfe eines Reverse Proxy.
Ein Zertifikat von Let´s Encrypt hat eine Gültigkeit von 90 Tagen. Deshalb ist es immer mal wieder erforderlich die eigenen Zertifikate zu erneuern.
Hier im Blog habe ich bereits für die Nextcloud das gleiche Problem beschrieben ➡ Let´s Encrypt – Problem binding to port 80: Could not bind to IPv4 or IPv6.. Es handelt auch bei der Synology um das exakt gleiche Problem, jedoch ist es dort nicht so gut beschrieben. Die Fehlermeldung „Failed to connect to Let’s Encrypt. Please make sure the domain name is valid.“ ist da wenig aufschlussreich.
Heute war es mal wieder soweit, die Aktualisierung meines SSL-Zertifikats stand an. Ich habe deshalb alle Schritte durchgeführt, wie in meinem früheren Beitrag ➡ Let´s Encrypt – Problem binding to port 80: Could not bind to IPv4 or IPv6. beschrieben.
Leider hat es aber diesmal nicht funktioniert und ich habe den folgenden Fehler erhalten:
Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80.
Nach 90 Tagen war es mal wieder soweit, mein Let´s Encrypt Zertifikat für meine Nextcloud wäre innerhalb von 1 Tag abgelaufen. Die Zeit drängte also eine Erneuerung zu starten. Also habe ich in meinem Beitrag ➡ Let’s Encrypt – Zertifikatserneuerung schlägt fehlt“ gespickt und nach dem richtigen Befehl dafür nachgeschlagen.
Leider habe ich jedes mal diesen Fehler erhalten, der mich schier zum Verzweifeln gebracht hat.
Problem binding to port 80: Could not bind to IPv4 or IPv6.
Ich habe daraufhin die gesamte Konfiguration meines Apache-Webservers kontrolliert, jedoch immer ohne Erfolg.
Zum Schluß war die Lösung ganz einfach. Es genügte ein Blick in die Konfiguration meines AVM-Routers. Dort war der Port 80, der für die Erneuerung des Let´s Encrypt Zertifikats zwingend erforderlich ist, nicht geöffnet. Nach einer Anpassung sieht die Konfiguration dort so aus:
Anschließend hat die Erneuerung des Zertifikats wunderbar geklappt:
Hier nochmal die Befehle, die zum Erfolg geführt haben:
sudo service apache2 stop
sudo /etc/letsencrypt/letsencrypt-auto certonly --dry-run --agree-tos --renew-by-default -a webroot --webroot-path /var/www/html/ -d mydyndns.dns.de
sudo service apache2 start
Nutzt den Befehl –dry-run solange, bis euch eine positives Ergebnis ausgegeben wird.
Meine Nextcloud-Installation auf meinem Raspberry Pi läuft bereits seit fast 3 Monaten stabil und ohne Probleme.
Auch die SSL-Verschlüsselung mit dem Let’s Encrypt Zertifikat läuft gut, die Erneuerung via CRON funktioniert, dachte ich zumindest.