Traefik Dashboard mit Basic Auth absichern

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Traefik Dashboard mit Basic Auth absichern

Um das Traefik-Dashboard mit einem einfachen Passwortschutz zu versehen, wird eine Middleware mit Basic Auth verwendet.

Passwort erzeugen

Ein Benutzername und ein Passwort werden mit dem Befehl htpasswd erzeugt:

  • htpasswd -nb admin MeinSicheresPasswort

Die Ausgabe sieht zum Beispiel so aus:

admin:$apr1$Ff34...$PL8Wnz7g1n...

Diese Zeile wird später in die Konfigurationsdatei eingetragen.

Middleware-Datei anlegen

Im Verzeichnis conf/ wird eine Datei mit dem Namen auth.yaml erstellt. Sie enthält folgende Konfiguration:

http:
  middlewares:
    dashboard-auth:
      basicAuth:
        users:
          - "admin:$apr1$Ff34...$PL8Wnz7g1n..."

Statt dem Beispiel-Hash muss der selbst erzeugte Passwort-Hash eingetragen werden.

Middleware dem Router zuweisen

In der Datei docker-compose.yml im Bereich des Traefik-Dienstes wird folgende Zeile zu den Labels hinzugefügt:

- traefik.http.routers.mytraefik.middlewares=dashboard-auth@file

Dies weist dem Router die Middleware dashboard-auth zu, die in der dynamischen Konfiguration unter @file definiert wurde.

Alten Auth-Service entfernen

Falls zuvor ein externer Auth-Service wie traefik-forward-auth verwendet wurde, sollte dieser entfernt werden:

  • Den kompletten Block traefik-forward-auth: im docker-compose löschen oder auskommentieren
  • Alle zugehörigen Labels wie forwardAuth aus anderen Services entfernen

Traefik neu starten

Die Änderungen werden mit einem Neustart aktiviert:

  • docker-compose down
  • docker-compose up -d

Ergebnis

Beim Aufruf von https://traefik.samogo.de wird nun nach Benutzername und Passwort gefragt. Erst nach erfolgreicher Anmeldung wird das Dashboard angezeigt.