Proxy
Proxies sind Vermittler, die Anfragen zwischen Clients und Zielsystemen weiterleiten, filtern oder transformieren. Sie werden zur Lastverteilung, Absicherung und Integration von Diensten eingesetzt.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Unsichere Default-Konfigurationen führen zu offenen Weiterleitungen oder Informationsleck.
- Fehlerhaftes TLS-Handling untergräbt Vertrauens- und Sicherheitsannahmen.
- Überlastung des Proxys kann Kaskadeneffekte im System auslösen.
- Konfiguration als Code verwalten und versionieren.
- Health-Checks und Circuit-Breaker einsetzen.
- Metriken, Logs und Traces zentral erfassen.
I/O & Ressourcen
- Anfrage- und Routing-Policy
- TLS-/Zertifikatsmaterial
- Back-End-Service-Endpunkte und Health-Checks
- gekapselter, standardisierter Endpunkt
- Zentrale Logs, Metriken und Traces
- Durchgesetzte Sicherheits- und Zugriffskontrollen
Beschreibung
Proxies sind Vermittler zwischen Clients und Zielservers, die Anfragen weiterleiten, filtern oder transformieren. Sie ermöglichen Lastverteilung, Caching, Zugriffskontrolle und Observability in verteilten Architekturen. Verschiedene Proxy-Typen (forward, reverse, transparent) adressieren unterschiedliche Sicherheits- und Integrationsanforderungen. Sie sind zentrale Bausteine bei API-Gateways, Service-Meshes und Edge-Infrastruktur.
✔Vorteile
- Zentrales Routing und Aggregation von Schnittstellen.
- Verbesserte Sicherheit durch Zugriffskontrolle und TLS-Termination.
- Leistungssteigerung durch Caching und Lastverteilung.
✖Limitationen
- Zusätzliche Netzwerk-Latenz durch weitere Hop(s).
- Betriebsaufwand für Verfügbarkeit, Skalierung und Konfiguration.
- Fehlkonfiguration kann zu Single-Point-of-Failure werden.
Trade-offs
Metriken
- Latenz (P95)
95. Perzentil der Antwortzeiten durch den Proxy gemessen.
- Fehlerquote
Anteil fehlgeschlagener Weiterleitungen oder 5xx-Antworten.
- Durchsatz (Requests/s)
Anzahl der vom Proxy verarbeiteten Anfragen pro Sekunde.
Beispiele & Implementierungen
Nginx als Reverse-Proxy für Webapps
Nginx fungiert als TLS-Termination und leitet Anfragen an mehrere Backend-Services weiter.
Squid als Forward-Proxy in Unternehmensnetzwerken
Squid filtert und cached HTTP-Verkehr für interne Clients und ermöglicht Zugriffskontrolle.
Envoy als Sidecar im Service-Mesh
Envoy bietet L7-Routing, Tracing und mTLS-Funktionen in Kubernetes-Umgebungen.
Implementierungsschritte
Anforderungen und Proxy-Rollen definieren (forward, reverse, sidecar).
Geeigneten Proxy auswählen und Prototyp im Testumfeld deployen.
Routing-, Security- und Observability-Regeln implementieren und testen.
Skalierungs- und Failover-Szenarien planen und automatisieren.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Temporäre Workarounds in Routing-Regeln, die nicht dokumentiert sind.
- Veraltete TLS-Konfigurationen oder schwache Cipher-Suites.
- Manuelle Zertifikatsverwaltung statt automatisierter Rotation.
Bekannte Engpässe
Beispiele für Missbrauch
- Ein Proxy als WAF-Ersatz ohne spezialisierte Sicherheitsregeln nutzen.
- Statisches Routing ohne Health-Checks zu kritischen Diensten einführen.
- TLS-Termination am falschen Ort durchführen und End-to-End-Verschlüsselung unterbrechen.
Typische Fallen
- Unzureichendes Monitoring führt zu langen Debugging-Zyklen.
- Falsche Header-Weitergabe führt zu Sicherheitslücken.
- Skalierungsfehler durch stateful caching in einzelnen Instanzen.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Vorhandene Netzwerktopologie und Firewall-Regeln
- • Kompatibilität mit Protokollversionen (HTTP/1.1, HTTP/2, gRPC)
- • Organisatorische Richtlinien für TLS-Handling und Zertifikatsverwaltung