Veröffentlicht am

Proxy, Reverse Proxy & Load Balancer auf Kubernetes erklärt

Teilen:
Authors

Proxy, Reverse Proxy & Load Balancer: die drei Bausteine jeder Web-Architektur

TL;DR

  • Wie schaffen es große Websites, Millionen Nutzer gleichzeitig zu bedienen, ohne zu crashen — und Daten dabei sicher zu übertragen? Die Antwort liegt in drei kritischen Web-Komponenten: Proxy, Reverse Proxy und Load Balancer.
  • Forward Proxy sitzt vor dem Client und schützt Ihre Seite des Netzwerks (z. B. Unternehmens-Proxy: filtert, cached, logged).
  • Reverse Proxy sitzt vor den Servern und schützt die Server: Lastverteilung, Caching, TLS, Security.
  • Load Balancing ist eine Kernfunktion des Reverse Proxy — kann aber auch als Cloud-Dienst (AWS ELB) separat existieren.
  • In der Praxis: Cloud Load Balancer (außen) + Reverse Proxy/Ingress (innen) — zwei Ebenen für Sicherheit und intelligentes Routing.

Die Restaurant-Analogie

Viele Engineers verwechseln Proxy, Reverse Proxy und Load Balancer. Die Konzepte werden mit einer einfachen Analogie klar:

  • Proxy = Ihr persönlicher Assistent (schützt Ihre Seite des Netzwerks).
  • Reverse Proxy = Empfangs-Rezeptionist (schützt die Server).
  • Load Balancing = eine Schlüsselfunktion des Reverse Proxy (verteilt Gäste gleichmäßig auf Tische).

Forward Proxy — der persönliche Assistent

Ein Forward Proxy sitzt zwischen Ihrem privaten Netzwerk und dem öffentlichen Internet:

  • Schutz: filtert schädliche Websites, Scripts, Viren.
  • Unternehmens-Szenario: Alle Mitarbeiter-Traffic durch einen Proxy — Blacklist, Virenscan, Logging.
  • Caching: Wird eine Ressource einmal geladen, bekommen andere sie aus dem Cache (spart Bandbreite).
  • Kern: schützt den Client.

Beispiel: Der Unternehmens-Proxy, durch den alle Mitarbeiter-Webanfragen laufen, bevor sie ins Internet gehen.


Reverse Proxy — der Empfangs-Rezeptionist

Ein Reverse Proxy sitzt vor den Servern und verwaltet eingehende Anfragen:

  • Schutz: Hunderte Server bleiben intern, nur 1–2 Proxies sind öffentlich erreichbar. Reduziert die Angriffsfläche enorm.
  • Load Balancing: verteilt Anfragen gleichmäßig auf die Server.
  • Caching: statische Inhalte einmal zusammenstellen, allen ausliefern.
  • TLS-Terminierung: verschlüsselten Traffic annehmen, nur verschlüsselte Anfragen durchlassen.
  • Logging: für Troubleshooting.

Beispiel: Nginx — einer der beliebtesten Reverse Proxies.


Load Balancer — Verteilung als Funktion

  • Einfach: Least-Busy, Round-Robin (gleichmäßig zyklisch).
  • Intelligent (im Reverse Proxy): Routing nach Headers, Cookies, Session-Daten, URL-Pfad — z. B. „alle Requests desselben Users → derselbe Server" (Session-Affinität) oder „/payment → Payment-Microservice".
  • TLS-Inspektion: Der Reverse Proxy kann verschlüsselten Traffic entschlüsseln und informierte Routing-Entscheidungen treffen — wichtig in Microservices.
LB-AlgorithmusFunktion
Round-RobinAnfragen gleichmäßig zyklisch verteilen
Least-BusyAnfrage an den am wenigsten ausgelasteten Server
Session-AffinitätDerselbe Client → derselbe Server (per Cookie/Session)
Pfad-Routing„/payment" → Payment-Service (Reverse Proxy, Layer 7)

Die Praxis: Cloud Load Balancer + Reverse Proxy zusammen

EbeneRolleBeispiel
AußenCloud Load Balancer: öffentlicher Einstiegspunkt, Basis-LastverteilungAWS ELB
InnenReverse Proxy: intelligentes Routing, Security, TLS, CachingNginx
ErgebnisPrivate Network kapselt Reverse Proxy + Backend — sicherer und skalierbarer

Warum doppelt? Der Cloud-LB ist die erste Verteidigungslinie; der Reverse Proxy macht das intelligente, feingranulare Routing, das ein simpler Load Balancer nicht kann.

In Kubernetes

Genau dieses Muster nutzt Kubernetes:

  • Cloud Load Balancer = erste Verteidigungslinie (öffentlicher Einstieg).
  • Ingress Controller = Reverse Proxy für Kubernetes: internes Routing, Security, TLS.
# Kubernetes: Cloud LB (außen) → Ingress Controller (innen) → Services
# Der Ingress ist der "Reverse Proxy für Kubernetes"
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: app
spec:
  ingressClassName: nginx
  rules:
    - host: app.example.com
      http:
        paths:
          - path: /api
            pathType: Prefix
            backend:
              service:
                name: api-service
                port:
                  number: 8080

Der Bezug zu Nginx

Nginx ist flexibler als oft angenommen:

  • Webserver: serviert statische Inhalte, sehr performant bei Millionen Anfragen.
  • Reverse Proxy: Load Balancing, Caching, SSL/TLS-Terminierung, Kompression.
  • Konfiguration: klare Direktiven (proxy_-Präfix), granulares Setup — Webserver oder Proxy einfach umschaltbar.
  • Vergleich Express (Node): Nginx ist der Hochleistungs-Webserver/Proxy davor; Express verarbeitet dynamische Inhalte dahinter. In Produktion oft kombiniert.
  • In Kubernetes: Nginx ist einer der populärsten Ingress Controller — das Pendant zu „Nginx als Reverse Proxy", nur für den Cluster.

Lessons Learned & Risiken (ehrlich)

  1. Proxy vs. Reverse Proxy verwechseln ist teuer: Beide schützen — aber verschiedene Seiten. Verwechslung führt zu falschen Architektur-Entscheidungen.
  2. Nicht alle Load Balancer sind gleich: Cloud-LBs machen Basis-Lastverteilung; Reverse Proxies intelligentes Routing. Beide gehören zusammen.
  3. Sicherheit ist ein Einstiegspunkt: Ohne Reverse Proxy sind Hunderte Server direkt exponiert — eine einzige Schwachstelle genügt.
  4. TLS richtig terminieren: Verschiedene Systeme brauchen verschiedene TLS-Strategien — nicht einfach durchreichen.
  5. Ingress in Kubernetes will gepflegt sein: Routing-Regeln, TLS und Policies sind Konfiguration — und damit Betriebsarbeit.

Fazit

Wer diese drei Bausteine versteht, versteht die Architektur hinter modernen Web-Apps — vom einzelnen Server bis zum Kubernetes-Cluster:

  1. Forward Proxy schützt den Client.
  2. Reverse Proxy schützt die Server — und kann mehr: Caching, TLS, Security, intelligentes Routing.
  3. Load Balancing ist eine Funktion — im Reverse Proxy oder als Cloud-Dienst.
  4. Cloud LB + Ingress = zwei Ebenen für Sicherheit und intelligentes Routing in Kubernetes.

FAQ

Brauche ich einen Reverse Proxy, wenn ich einen Cloud Load Balancer habe? Ja — beide. Der Cloud-LB ist der öffentliche Einstieg, der Reverse Proxy macht intelligentes Routing, TLS und Security im Inneren.

Ist ein Load Balancer ein Reverse Proxy? Load Balancing ist eine Funktion des Reverse Proxy. Der Reverse Proxy kann mehr: Caching, TLS, Sicherheit, intelligentes Routing.

Was ist ein Ingress Controller? Der Reverse Proxy für Kubernetes — nimmt Traffic an und routet ihn intelligent zu Services im Cluster.

Was ist der Unterschied zwischen Forward und Reverse Proxy? Der Forward Proxy schützt den Client (vor dem Netzwerk des Nutzers), der Reverse Proxy schützt die Server (vor den Backend-Servern).


Verwandte Artikel

📖 Verwandte Artikel

Weitere interessante Beiträge zu ähnlichen Themen