Load-Balancer-Header
Erfahren Sie, wie Sie HTTP "X" und Hostheadern in einem Load Balancer verwenden.
HTTP-Anforderungen und -Antworten umfassen häufig Headerfelder, die kontextbezogene Informationen zur Nachricht enthalten. RFC 2616 definiert ein Standardset von HTTP-Headerfeldern. Einige nicht standardmäßige Headerfelder, die mit X-
beginnen, sind üblich. Der Load-Balancer-Service fügt den Hostheader und die folgenden X-
Header hinzu oder ändert sie, wenn er Anforderungen an die Server übergibt. Da diese Header immer hinzugefügt und nicht deaktiviert werden können, können Sie Header nicht mit einem Regelset entfernen oder ändern.
HTTP-Anforderungen und -Antworten umfassen häufig Headerfelder, die kontextbezogene Informationen zur Nachricht enthalten. RFC 2616 definiert ein Standardset von HTTP-Headerfeldern. Einige nicht standardmäßige Headerfelder, die mit X-
beginnen, sind üblich. Der Load-Balancer-Service fügt den Hostheader und die folgenden X-
Header hinzu oder geändert sie, wenn er Anforderungen an die Server übergibt. Da diese Header immer hinzugefügt werden und nicht deaktiviert werden können, können Sie Header nicht mit einem Regelset entfernen oder ändern.
X-Forwarded-For
Stellt eine Liste mit Verbindungs-IP-Adressen bereit.
Der Load Balancer hängt die letzte Remotepeeradresse an das X-Forwarded-For
-Feld der eingehenden Anforderung an. Der angehängten Adresse gehen ein Komma und ein Leerzeichen voraus. Wenn der Clientanforderungsheader kein X-Forwarded-For
-Feld enthält, entspricht dieser Wert dem X-Real-IP
-Wert. Der ursprüngliche anfordernde Client ist die erste (am weitesten links stehende) IP-Adresse in der Liste, wobei davon ausgegangen wird, dass der Inhalt des eingehenden Feldes vertrauenswürdig ist. Die letzte Adresse ist der letzte (aktuellste) Peer, d.h. der Rechner, von dem der Load Balancer die Anforderung empfangen hat. Das Format lautet:
X-Forwarded-For: original_client, proxy1, proxy2
Beispiel für ein eingehendes Feld:
X-Forwarded-For: 202.1.112.187
Beispiel für ein Feld mit angehängter Proxy-IP-Adresse:
X-Forwarded-For: 202.1.112.187, 192.168.0.10
X-Forwarded-Host
Gibt den Originalhost und den Originalport an, die vom Client im HTTP-Anforderungsheader Host
angefordert wurden. Mit diesem Header können Sie den Originalhost finden, da der Hostname oder Port des Reverse Proxy (Load Balancer) vom Originalserver, der die Anforderung verarbeitet, abweichen kann.
X-Forwarded-Host: www.oracle.com:8080
X-Forwarded-Port
Gibt die Listener-Portnummer an, die der Client für die Verbindung mit dem Load Balancer verwendet hat. Beispiel:
X-Forwarded-Port: 443
X-Forwarded-Proto
Gibt das Protokoll an, das der Client für die Verbindung mit dem Load Balancer verwendet hat, entweder http
oder https
. Beispiel:
X-Forwarded-Proto: https
X-Real-IP
Gibt die IP-Adresse des Clients an. Beim Load-Balancer-Service ist der "Client" der letzte Remotepeer.
Der Load Balancer fängt Traffic zwischen dem Client und dem Server ab. Die Zugriffslogs des Servers enthalten daher nur die IP-Adresse des Load Balancers. Der Header X-Real-IP
stellt die IP-Adresse des Clients bereit. Beispiel:
X-Real-IP: 192.168.0.10
X-Request-ID
Mit der Anforderungs-ID können Sie eine Anforderung verfolgen und verwalten, indem Sie eine eindeutige Anforderungs-ID angeben, die in HTTP-Anforderungs- und Antwortheadern angegeben wird.
Wenn die Anforderungs-ID aktiviert ist, ist der Standardheadername X-Request-ID im HTTP-Anforderungsheader vom Load Balancer zu den Backend- und HTTP-Headerantworten enthalten. Wenn diese Option nicht aktiviert ist, fügt der Load Balancer diesen eindeutigen Anforderungs-ID-Header nicht der Anforderung hinzu, die an das Load Balancer Backend übergeben wurde, oder der zurückgegebenen Antwort.
Sie können einen anderen Headernamen eingeben, anstatt den Standardwert zu verwenden. Jeder benutzerdefinierte Headername muss mit "X-" beginnen.
Host
Gibt den Originalhost und optional den Originalport an, die vom Client im HTTP-Anforderungsheader "Host" angefordert wurden. Beispiel:
Host: www.oracle.com