Traefik ist ein moderner Reverse-Proxy und Edge-Router, der speziell für Container-Umgebungen entwickelt wurde. Anders als klassische Webserver wird Traefik nicht über lange Konfigurationsdateien gepflegt, sondern erkennt neue Dienste automatisch: Sobald ein Container startet, übernimmt Traefik das Routing und die Auslieferung des Datenverkehrs.

Das Grundprinzip: EntryPoints, Router und Services

Traefik arbeitet mit drei zentralen Bausteinen:

  • EntryPoints sind die Ports, an denen Traefik Verbindungen entgegennimmt, zum Beispiel 80 für HTTP und 443 für HTTPS.
  • Router entscheiden anhand von Regeln, welcher Dienst angesprochen wird. Regeln können auf dem Hostnamen, dem Pfad oder HTTP-Headern basieren.
  • Services sind die eigentlichen Ziel-Anwendungen im Hintergrund, etwa Container oder Kubernetes-Pods.

Dazu kommen Middlewares: kleine Erweiterungen, die den Datenverkehr verändern, bevor er den Dienst erreicht, zum Beispiel Rate-Limiting, Authentifizierung oder das Setzen von Sicherheits-Headern.

Automatische Erkennung per Labels

Die Stärke von Traefik ist die Service-Discovery. Container, die mit passenden Labels gestartet werden, finden ohne Neustart des Proxys ihren Weg:

docker run -d --name myapp   --label "traefik.http.routers.myapp.rule=Host(`app.beispiel.de`)"   --label "traefik.http.routers.myapp.tls.certresolver=letsencrypt"   myapp:latest

Im docker compose-Betrieb funktioniert das genauso: Jeder Dienst bekommt sein Routing als Label, Traefik beobachtet die Docker-API und aktualisiert die Regeln live.

Automatische TLS-Zertifikate

Traefik kann Zertifikate für verschlüsselte Verbindungen automatisch beschaffen und erneuern. Über die ACME-Schnittstelle von Let Encrypt holt er sich beim ersten Aufruf einer Domain ein Zertifikat, legt es in einem Speicher ab und verlängert es selbstständig — ein TLS-Handshake mit gültigem Zertifikat ist damit ohne manuelle Verwaltung möglich.

Dashboard und Betrieb

Über ein integriertes Dashboard zeigt Traefik alle Router, Services und Middlewares live an. Der Zugriff ist optional absicherbar; im Produktivbetrieb läuft das Dashboard meist nur im internen Netz. Traefik ist in Go geschrieben, skaliert über den Load-Balancer-Mechanismus auf mehrere Instanzen und kann in Kubernetes als Ingress-Controller arbeiten.

Traefik im Vergleich

Gegenüber dem klassischen nginx spart Traefik vor allem Konfigurationsarbeit: Wo nginx pro Dienst eine eigene Server- und Proxy-Konfiguration braucht, genügt bei Traefik das Label am Container. Als API-Gateway übernimmt er zusätzlich Aufgaben wie Authentifizierung und Weitergabe der Identität an die Dienste — ein Baustein, der eng mit der Service-Mesh-Idee moderner Microservice-Architekturen verwandt ist.

Grundlage bleibt dabei immer der klassische Webserver-Gedanke: Ein zentraler Einstiegspunkt, der Anfragen an die richtigen Anwendungen verteilt. Wer Anwendungen in Containern betreibt und viele Dienste routen muss, findet in Traefik ein Werkzeug, das genau dafür gebaut wurde.