Traefik erneuert alte Zertifikate

Let’s Encrypt weist mich ständig darauf hin, dass alte Zertifikate für Domains nicht erneuert werden können, die ich schon länger nicht mehr nutze. Was tun?

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Peter Siering

Let’s Encrypt weist mich in Mails immer wieder darauf hin, dass alte Zertifikate für Domains nicht erneuert werden können, die ich schon länger nicht mehr benutze. Jetzt ist mir aufgefallen, dass Traefik Zertifikate für alte Domains anfragt, für die längst keine DNS-Einträge mehr existieren. Die Hosts aus meinen Docker-Compose-Dateien zu entfernen und Traefik neu zu starten hat nicht geholfen. Was tun?

Traefik kennt derzeit keine Option, um nicht mehr benötigte Hosts zu vergessen. Im Netz finden sich auch Fälle, in denen das Rate-Limiting des Dienstes eingreift und die noch verwendeten Domains dadurch keine neuen Zertifikate erhalten. Sie können sich behelfen, indem Sie Datei acme.json direkt bearbeiten, in der Traefik die Zertifikate aller jemals verwendeten Domains sammelt und aus der heraus die unnötigen Anfragen an Let’s Encrypt resultieren. Sie liegt je nach Konfiguration auf einem Docker-Volume oder im Dateisystem des Hosts.

Dafür eignet sich das Programm jq, das auf der Kommandozeile JSON-Dateien bearbeitet. Ein Beispielaufruf sieht so aus (alles in einer Zeile):

jq "del(.le.Certificates[]  | select(.domain.main ==  \"example.com\"))" acme.json  

Er entfernt die Zertifikatsinformationen für die Beispieldomain "example.com". Das Kommando gibt die bearbeiteten Daten auf der Konsole aus, das heißt, Sie müssen die Ausgabe in einer neuen Datei fangen und dann die ursprüngliche acme.json-Datei ersetzen.

Nach dem Ersetzen müssen Sie Traefik von Hand neu starten. Es bemerkt Änderungen an der Datei nicht selbst. Idealerweise halten Sie den Dienst während der manuellen Bearbeitung an, um zu verhindern, dass sich die automatische Aktualisierung mit der händischen ungünstig zeitlich überlagert.

Neugierig geworden?

(ps)