Nginx vs. Traefik: Welchen Reverse Proxy sollte ich nutzen?

Wer eine eigene Server-Infrastruktur betreibt, kommt früher oder später nicht am Thema Reverse Proxy vorbei. Die zwei beliebtesten Optionen in der Self-Hosting-Community sind Nginx und Traefik. Beide erledigen den Job — aber für sehr unterschiedliche Szenarien.

Was ist ein Reverse Proxy und warum brauche ich ihn?

Ein Reverse Proxy sitzt vor deinen Backend-Diensten und leitet eingehende HTTP(S)-Anfragen weiter. Er kümmert sich um:

  • TLS-Terminierung (HTTPS mit Let's Encrypt)
  • Load Balancing zwischen mehreren Instanzen
  • Routing nach Domain oder Pfad
  • Header-Manipulation und Sicherheits-Policies

Ohne Reverse Proxy musste jeder Dienst auf einem eigenen Port laufen. Mit Reverse Proxy kannst du z.B. api.meineapp.de und cms.meineapp.de beide auf Port 443 betreiben.

Nginx: Der bewährte Alleskönner

Nginx ist seit 2004 im Einsatz und gehört zur Kern-Infrastruktur des Internets. Er ist unglaublich performant, extrem stabil und durch seine weite Verbreitung bestens dokumentiert.

Stärken von Nginx

  • Statische Dateien serviert Nginx nahezu ohne CPU-Last
  • Millionen von Anfragen pro Sekunde auf günstiger Hardware
  • Riesige Community — jede Konfigurationsfrage hat eine Stack Overflow-Antwort
  • Mächtige Konfiguration mit Rewrite-Regeln, Caching, Rate Limiting
  • Langzeit-Support und bekannte Stabilität

Schwächen von Nginx

  • Manuelles Konfigurieren: Jeder Dienst braucht eine eigene .conf-Datei
  • Kein dynamisches Service Discovery: Wenn sich Dienste ändern, muss Nginx neu geladen werden (nginx -s reload)
  • Let's Encrypt: Braucht Certbot oder ähnliches als Extra-Tool
  • Kubernetes: Kein nativer Support, braucht den Nginx-Ingress-Controller

Traefik: Der Cloud-Native Reverse Proxy

Traefik wurde 2016 speziell für dynamische Infrastrukturen entwickelt. Es erkennt automatisch, welche Container oder Services gerade laufen — ohne manuelle Konfiguration.

Stärken von Traefik

  • Auto-Discovery: Traefik liest Docker-Labels oder Kubernetes-Annotations aus und konfiguriert sich selbst
  • Let's Encrypt eingebaut: HTTPS-Zertifikate werden automatisch beantragt und erneuert
  • Dashboard: Web-UI zeigt alle Routes und Services in Echtzeit
  • Kubernetes-nativ: Der Traefik Ingress Controller ist eine der beliebtesten K8s-Optionen
  • Middleware-System: Rate Limiting, Auth, Redirect — alles per Label oder YAML

Schwächen von Traefik

  • Lernkurve: Das Konzept von Routers, Middlewares und Services ist am Anfang ungewohnt
  • Performance: Bei extrem hoher Last (10k+ req/s) ist Nginx typischerweise schneller
  • Statische Seiten: Für einfaches File-Serving ist Traefik Overkill

Direkter Vergleich: Wann was?

Kriterium Nginx Traefik
Setup-Aufwand Mittel (manuelle Config) Niedrig (Auto-Discovery)
Docker-Integration Manuell Nativ per Labels
Kubernetes Ingress Controller Ingress Controller
Let's Encrypt Via Certbot Eingebaut
Performance Sehr hoch Hoch
Lernkurve Flach Moderat
Static File Serving Exzellent Nicht geeignet

Meine Entscheidung in der Praxis

In meinem Kubernetes-Setup setze ich auf Traefik als Ingress Controller. Der Hauptgrund: Ich deploye regelmäßig neue Services, und Traefik erkennt sie automatisch über IngressRoute-Objekte. Kein manuelles Reload, keine separate Cert-Verwaltung.

Für einfache VMs oder reine Static-Site-Hosting-Setups würde ich Nginx wählen. Die Konfiguration ist überschaubar, und für einen Webserver mit wenigen Domains lohnt sich die Extra-Komplexität von Traefik nicht.

Fazit: Traefik gewinnt in dynamischen, Container-basierten Umgebungen. Nginx gewinnt bei Performance-kritischen oder simplen Setups. In einem modernen Kubernetes-Cluster ist Traefik meine klare Empfehlung.