Let’s Encrypt

Beim Einrichten eines SSL-Zertifikats mittels Let’s Encrypt kann der ACME Server eine bestimmte Datei im Ordner .well-known/acme-challenge nicht erreichen. Zertifikate, dienen der Sicherheit und dem Datenschutz, machen den Webentwicklern und Softwareentwicklern aber auch immer wieder das Leben schwer. In meinem Fall war es folgende Problemstellung, die mich ein paar Stunden Recherche und Fehlersuche kostete.

Ausgangssituation

Ich betreibe einen Windows IIS – Server im heimischen Bereich hinter einer Fritz!Box. Die Webseiten, die auf dem Server laufen, sollen per HTTPS vom Internet erreichbar sein. Dazu nutze ich den kostenlosen Dienst von Let’s Encrypt, um mir ein gültiges SSL-Zertifikat zu erstellen. Dieses ist nur eine begrenzte Zeit gültig und muss regelmäßig verlängert oder erneuert werden. Für die Generierung des Zertifikats habe ich den Windows-Client Let’s Encrypt Win Simple im Einsatz

Problem

Beim Ausführen von Let’s Encrypt, bekam ich dann folgende Fehlermeldung:

The ACME server was porbably unable to reach http://projetcts……de/.well-known/acme-challenge/….

Das bedeutet erstmal, dass der ACME-Server eine Datei, die automatisch angelegt wurde, um die Identität des Servers zu überprüfen, nicht von extern, also vom Internet heraus aufrufen konnte. Und wie man sieht, stellt Let’s Encrypt an dieser Stelle erstmal den IIS-Server in Verdacht. Man solle überprüfen, ob die Datei über einen Web-Browser aufrufbar ist und falls das nicht der Fall ist, soll man die Konfiguration von IIS checken, ob Dateien ohne Endung ausgeliefert werden und entsprechende Anpassungen an den Einstellungen vornehmen.

In meinem Fall halfen die Empfehlungen nicht weiter, denn die benannte Datei war über dem Browser aufrufbar. Wenn man sicher sein will, dass die Datei vom Internet aufrufbar ist und nicht nur aus dem eigenen internen Netzwerk, muss man den Aufruf entweder außerhalb des privaten Netzwerk durchführen oder man nutzt einen Online-Dienst, wie InfoByIP. Jetzt wurde die weitere Fehlersuche schwierig.

Lösung

Einen entscheidenden Hinweis erhielt ich dann über einen englischsprachigen Forum-Eintrag. Wenn man über seinen Router IPv4 und IPv6 parallel betreibt (Dual Stack), kann es sein, dass der ACME-Server über IPv6 anfragt. Kann dieser Weg aber nicht aufgelöst werden, so schlägt der Identifizierungsvorgang fehlt. Eine Überprüfung meiner Fritz!Box ergab, das IPv4 und IPv6 aktiviert waren. Testweise habe ich versucht, die Datei im .well-known-Ordner über die IPv4-Adresse aufzurufen und über die IPv6-Adresse aufzurufen. Der Aufruf mit IPv4 hat funktioniert und mit IPv6 nicht, was den Verdacht weiter erhärtet hat. Also habe ich IPv6 in der Fritz!Box deaktiviert. Dies kann man unter Internet -> Zugangsdaten -> Reiter IPv6 erledigen.

Fritzbox IPv6 deaktivierenDanach verbindet sich der Router neu mit dem Internet, wodurch man eine neue IP-Adresse erhält, und zwar nur noch IPv4. Jetzt muss man noch ein wenig warten, bis sich die DNS-Einträge zum Domainnamen angepasst haben und kann einen neuen Versuch mit dem Let’s Encrypt-Client starten. Und siehe da: es hat bei mir funktioniert.

Ich gebe zu, es ist erstmal der einfache Weg. Natürlich ist es in der heutigen Zeit, wo IPv6 so langsam zum Standard avanciert, nicht die feine Art eine Webseite nur unter IPv4 erreichbar zu machen.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert