Zum Hauptinhalt springen

Übersicht

Trusted Proxies werden verwendet, um die IP-Adresse des Clients korrekt zu bestimmen, wenn die Anfrage über TLS-Terminatoren, Load Balancer oder Gateways geleitet wird. In typischen Bereitstellungen — bei denen das Backend hinter einem einzelnen Frontend steht und nicht direkt erreichbar ist — funktioniert die Anwendung ohne zusätzliche Konfiguration korrekt. Einige Umgebungen erfordern jedoch eine explizite Proxy-Konfiguration, z. B. in Compliance-Szenarien, bei erweitertem Brute-Force-Schutz oder bei mehrstufigen Proxy-Setups.

Standardwerte

  • Passwork vertraut allen REMOTE_ADDR-Werten bei der Bestimmung der Client-IP-Adresse;
  • Die IP-Adresse wird aus einem der Standard-Header extrahiert, sofern mindestens einer davon vorhanden ist;
  • Der Zugriff auf das Backend wird nicht eingeschränkt, bis mindestens eine Adresse in TRUSTED_PROXIES definiert ist.

CLIENT_IP_SOURCES

CLIENT_IP_SOURCES ermöglicht es Ihnen, die Liste der Header explizit zu definieren, aus denen die Client-IP-Adresse extrahiert wird.

Details:

  • Sie können Header oder die Servervariable REMOTE_ADDR angeben;
  • Jeder angegebene Header muss mit dem Präfix HTTP_ beginnen;
  • Wenn ein oder mehrere Werte gesetzt sind, werden nur die angegebenen Header verwendet;
  • Mehrere Header können als kommagetrennte Liste angegeben werden;
  • Die Header werden in der angegebenen Reihenfolge verarbeitet — vom ersten bis zum letzten;
  • Wenn die Variable nicht gesetzt ist, wird die Standard-Header-Liste verwendet. Sie können diese anzeigen, indem Sie php bin/console app:env:report ausführen.

Beispiel:

CLIENT_IP_SOURCES=HTTP_X-Forwarded-For,HTTP_X-Real-IP

TRUSTED_PROXIES

TRUSTED_PROXIES definiert eine Liste vertrauenswürdiger Proxy-Server. Sie sollten die IP-Adressen oder CIDR-Bereiche der Proxys angeben, die der REMOTE_ADDR des letzten Knotens vor der Anwendung entsprechen (z. B. ein Load Balancer oder Ingress Controller).

Format:

TRUSTED_PROXIES=192.168.1.10,10.0.0.0/16

Details:

  • Werte können einzelne IPs oder CIDR-Bereiche sein;
  • Mehrere Einträge sind erlaubt, getrennt durch Kommas;
  • Wenn das Format falsch ist, gibt die Anwendung einen Konfigurationsfehler zurück;
  • Wenn TRUSTED_PROXIES nicht gesetzt ist, werden Anfragen nicht blockiert.