Traefik DNS Challenge Provider (basiert auf LEGO)

Wichtig

Damit du diese Integration nutzen kannst, MUSS erst ein DNS-API-Benutzer anhand der Anleitung (Benutzer im Kundenportal erstellen) erstellt sein!

Unveränderte API-Syntax

Trotz neuer DNS API-Zugänge und -Funktionen bleibt die Kern-API-Syntax unverändert zu vorherigen Versionen.

Die Traefik DNS-Challenge-Integration nutzt weiterhin die gleiche API-Syntax und ist daher auch ohne Update nutzbar.

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! Grundkenntnisse in der Konfiguration von Traefik werden vorausgesetzt!

Um eine DNS-Challenge als Provider anzugeben, musst du diese in deine traefik.yml oder traefik.toml einfügen:

#...
certificatesResolvers:
  myresolver:
  acme:
    # ...
    dnsChallenge:
    provider: servercow
    delayBeforeCheck: 0
    # ...
# ...
[certificatesResolvers.myresolver.acme]
# ...
[certificatesResolvers.myresolver.acme.dnsChallenge]
  provider = "servercow"
  delayBeforeCheck = 0
# ...

Hinweis

Damit der DNS-Provider funktioniert, musst du Traefik Umgebungsvariablen mitgeben. Lokal kannst du das einfach via export tun. Gängiger ist allerdings Docker, daher zeigen wir die Variablendeklaration am Docker-Beispiel.

Füge einfach den Abschnitt environment in deiner Traefik-docker-compose.yml mit diesem Inhalt hinzu oder erstelle ihn:

docker-compose.yml
  #...
  environment:
    SERVERCOW_USERNAME: "DEIN_API_NUTZER"
    SERVERCOW_PASSWORD: "DEIN_API_NUTZER_PASSWORT"
  #...
Wenn Traefik diese Informationen bekommt, nutzt er die Credentials, um die Zertifikate per DNS-Challenge über die Servercow-API zu beziehen.

Erinnerung

Dienste, die Traefik erreichen sollen, müssen noch die DNS-Challenge als Zertifikatsresolver aktivieren (per Label oder Config).

Wenn alles geklappt hat, bezieht Traefik die Zertifikate per DNS-Challenge über die Servercow-DNS-API.

Debugging

Wir empfehlen, beim ersten Zertifikatsdurchlauf den Debugging-Modus in der traefik.yml/traefik.toml zu aktivieren, damit du Fehlermeldungen besser analysieren kannst.