Docker Traefik Middleware Passwort Schutz: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 1: | Zeile 1: | ||
=Funktion= | = Funktion = | ||
*Bevor die Anfrage vom Client an den Server geleitet wird, muss dieser sich | * Bevor die Anfrage vom Client an den Server geleitet wird, muss dieser sich anmelden | ||
*Die Zugangsdaten können entweder in | * Die Zugangsdaten können entweder in ''docker-compose.yml'' geschrieben oder in eine andere Datei ausgelagert werden | ||
*Die Passwörter müssen mit | * Die Passwörter müssen mit MD5, SHA1, or BCrypt gehasht werden. | ||
= | = Passwort-Hashes = | ||
* Der einfachste Weg für die Generation der Passwort-Hashes ist '''htpasswd''', welches im Paket '''apache2-utils''' enthalten ist | |||
* '''apt install apache2-utils''' | |||
* Falls $-Zeichen im Hash auftauchen, müssen diese durch ein weiteres $ in YAML entwertet werden | |||
* '''echo $(htpasswd -nB ''user'') | sed -e s/\\$/\\$\\$/g''' | |||
= | = Benutzer und Passwort in ''docker-compose.yml'' = | ||
* Damit Traefik weiß, dass die Basic-Auth-Middleware benutzt werden soll, muss der Container/Service das Label tragen | |||
* Die Middleware muss dann einem Router zugewiesen werden | |||
* '''cd ''/pfad/zum/dienst'' ''' | |||
* '''vim ''docker-compose.yml'' ''' | |||
== | <syntaxhighlight lang="yaml"> | ||
<syntaxhighlight> | version: "3" | ||
services: | |||
whoami: | |||
image: traefik/whoami | |||
labels: | |||
- "traefik.http.routers.whoami.rule=Path(`/whoami`)" | |||
- "traefik.http.middleware.my-auth.basicauth.users=user1:passwort-hash,user2:passwort-hash" | |||
- "traefik.http.routers.whoami.middlewares=my-auth" | |||
</syntaxhighlight> | |||
= Traefik Konfiguration = | |||
== Benutzer und Passwort separat == | |||
* '''vim ''docker-compose.yml'' ''' | |||
<syntaxhighlight lang="yaml"> | |||
- com.ouroboros.enable=true | - com.ouroboros.enable=true | ||
- "traefik.enable=true" | - "traefik.enable=true" | ||
Version vom 14. November 2024, 21:04 Uhr
Funktion
- Bevor die Anfrage vom Client an den Server geleitet wird, muss dieser sich anmelden
- Die Zugangsdaten können entweder in docker-compose.yml geschrieben oder in eine andere Datei ausgelagert werden
- Die Passwörter müssen mit MD5, SHA1, or BCrypt gehasht werden.
Passwort-Hashes
- Der einfachste Weg für die Generation der Passwort-Hashes ist htpasswd, welches im Paket apache2-utils enthalten ist
- apt install apache2-utils
- Falls $-Zeichen im Hash auftauchen, müssen diese durch ein weiteres $ in YAML entwertet werden
- echo $(htpasswd -nB user) | sed -e s/\\$/\\$\\$/g
Benutzer und Passwort in docker-compose.yml
- Damit Traefik weiß, dass die Basic-Auth-Middleware benutzt werden soll, muss der Container/Service das Label tragen
- Die Middleware muss dann einem Router zugewiesen werden
- cd /pfad/zum/dienst
- vim docker-compose.yml
version: "3"
services:
whoami:
image: traefik/whoami
labels:
- "traefik.http.routers.whoami.rule=Path(`/whoami`)"
- "traefik.http.middleware.my-auth.basicauth.users=user1:passwort-hash,user2:passwort-hash"
- "traefik.http.routers.whoami.middlewares=my-auth"
Traefik Konfiguration
Benutzer und Passwort separat
- vim docker-compose.yml
- com.ouroboros.enable=true
- "traefik.enable=true"
- "traefik.http.services.smokeping.loadbalancer.server.port=80"
- "traefik.http.routers.smokeping-secured.rule=Host(`your-domain.com`)"
- "traefik.http.routers.smokeping-secured.entrypoints=websecure"
- "traefik.http.routers.smokeping-secured.tls=true"
Traefik Konfiguration mit Basic-Auth Middleware
- com.ouroboros.enable=true
- "traefik.enable=true"
- "traefik.http.middlewares.fa-fo.basicauth.users=DEINUSER:DEINGEHASHTESPASSWORT"
- "traefik.http.services.smokeping.loadbalancer.server.port=80"
- "traefik.http.routers.smokeping-secured.rule=Host(`your-domain.com`)"
- "traefik.http.routers.smokeping-secured.middlewares=fa-fo"
- "traefik.http.routers.smokeping-secured.entrypoints=websecure"
- "traefik.http.routers.smokeping-secured.tls=true"