Categories
Allgemein

21.05.20 Erneuerung von Let’s-Encrypt-Zertifikaten

Diese Website und die korrespondierende Site gkservices.ignorelist.com ist mit Let’s Encrypt zertifiziert. Die Zertifizierung mit Let’s Encrypt hat den Nachteil, dass die Zertifikate nach 90 Tagen ablaufen. Das war bei dieser Site am 18.05.20 erstmals der Fall.
Im Internet gibt es Anleitungen, wie man es einrichtet, dass die Zertifikate einige Tage vor Ablauf automatisch erneuert werden.
Außerdem gibt es einen Testaufruf des Programms certbot, mit dem man überprüfen kann, ob eine Zertifizierung oder Erneuerung funktionieren würde.
Diesen Testaufruf habe ich vor längerer Zeit probiert, aber er schlug fehl. Also war es sinnlos, die automatische Zertifikatserneuerung einzurichten.

Deshalb habe ich den Zertifikatsablauf abgewartet, um mich dann intensiv mit dem Thema zu beschäftigen.
Das Programm certbot legt nach dem Start temporär Informationen in einem bestimmten Verzeichnis ab. Im Webserver muss konfiguriert sein, dass dieses Verzeichnis über HTTP zugreifbar ist. Da WordPress die URL nicht auf einer Verzeichnisstruktur abbildet, würde das vermutlich nicht funktionieren. Also habe ich WordPress temporär abgeschaltet. Das hat aber auch nicht geholfen.
Schließlich habe ich die Konfiguration des Webservers in den Zustand gebracht, in dem sie war, als ich die Zertifizierung erstmals durchgeführt hatte. Dann hat es funktioniert. Anschließend habe ich die aktuelle Konfiguration wiederhergestellt.

In der aktuellen Konfiguration werden HTTP-Aufrufe nach HTTPS umgeleitet. Das war in der Konfiguration zum Zeitpunkt der Zertifizierung nicht der Fall. Ich vermute, dass der Zertifizierungsserver mit dieser Umleitung nicht funktioniert.


Ein generelles Problem bei der Zertifikatserzeugung mit certbot existiert:
Für eine zu zertifizierende Domain muss sowohl ein AAA record (IPv6) als auch ein A record (IPv4) im DNS existieren. Für nur über IPv6 zugreifbare Websites funktioniert es also nicht. Wenn man die Site selbst hosten will, muss man also einen Internet-Provider wählen, der eine öffentliche IPv4-Adresse zuteilt.
Möglicherweise reicht es aber aus, einen Dummy-A-record im DNS anzulegen.