Traefik DNS Challenge Provider (basiert auf LEGO)
Wichtig
Damit diese Integration genutzt werden kann, MUSS erst ein DNS-API-Benutzer anhand der Anleitung (Benutzer im Kundenportal erstellen) erstellt sein!
Für Traefik existiert ebenfalls eine DNS-Challenge-Schnittstelle, welche mit der Servercow-DNS-API kommunizieren kann.
Dies ist möglich, da Traefik (ebenfalls ein Go-Produkt) den LEGO Let's-Encrypt-Client verwendet und damit auch dessen DNS-Challenge-Provider.
Allerdings ist die Dokumentation dazu etwas spärlich, weshalb wir diese hier mitliefern.
Achtung
Diese Anleitung erklärt NICHT die generelle Konfiguration von Traefik! Ein Grundwissen über die Konfiguration von Traefik wird vorausgesetzt!
Um eine DNS-Challenge als Provider anzugeben, muss diese in die traefik.yml
oder traefik.toml
eingefügt werden:
#...
certificatesResolvers:
myresolver:
acme:
# ...
dnsChallenge:
provider: servercow
delayBeforeCheck: 0
# ...
# ...
[certificatesResolvers.myresolver.acme]
# ...
[certificatesResolvers.myresolver.acme.dnsChallenge]
provider = "servercow"
delayBeforeCheck = 0
# ...
Hinweis
Damit der DNS-Provider auch funktioniert, müssen dem Traefik noch Umgebungsvariablen mitgegeben werden. Dies kann bei einer lokalen Installation einfach via export
erfolgen. Die gängigere Methode, Traefik zu installieren, ist jedoch Docker, weswegen wir die Variablendeklaration auch anhand dieses Beispiels zeigen.
Fügen Sie einfach den Abschnitt environment
in Ihrer Traefik-docker-compose.yml
mit diesem Inhalt hinzu oder erstellen Sie ihn:
#...
environment:
SERVERCOW_USERNAME: "IHR_API_NUTZER"
SERVERCOW_PASSWORD: "IHR_API_NUTZER_PASSWORT"
#...
Erinnerung
Dienste, welche durch Traefik erreicht werden sollen, müssen erst noch die DNS-Challenge als Zertifikatsresolver aktivieren (per Label oder config).
Hat alles geklappt, bezieht Traefik nun die Zertifikate per DNS-Challenge über die Servercow-DNS-API.
Debugging
Wir empfehlen, bei dem ersten Zertifikatsdurchlauf den Debugging-Modus von Traefik in der traefik.yml/traefik.toml zu aktivieren, damit Fehlermeldungen genauer analysiert werden können.