Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
HTTP-Header und Application Load Balancer
Die HTTP-Anforderungen und -Antworten verwenden Header-Felder, um Informationen über HTTP-Nachrichten zu senden. HTTP-Header werden automatisch hinzugefügt. Header-Felder sind durch einen Doppelpunkt getrennte Name/Wert-Paare, die durch eine Zeilenumschaltung und einen Zeilenvorschub getrennt sind. Ein Standardsatz von HTTP-Header-Feldern ist in RFC 2616, Nachrichten-HeaderX-Forwarded
-Präfix. Application Load Balancer unterstützen die folgenden X-Forwarded
-Header.
Weitere Informationen zu HTTP-Verbindungen finden Sie unter Weiterleitung von Anforderungen im Benutzerhandbuch zu Elastic Load Balancing.
X-Forwarded-Header
X-Forwarded-For
Der X-Forwarded-For
-Anforderungs-Header hilft Ihnen, die IP-Adresse eines Clients zu identifizieren, wenn Sie einen HTTP- oder HTTPS-Load Balancer verwenden. Da Load Balancer Datenverkehr zwischen Clients und Servern abfangen, enthalten Ihre Server-Zugriffsprotokolle nur die IP-Adresse des Load Balancers. Verwenden Sie das routing.http.xff_header_processing.mode
-Attribut, um die IP-Adresse des Clients anzuzeigen. Dieses Attribut ermöglicht das Ändern, Beibehalten oder Entfernen der X-Forwarded-For
-Header in der HTTP-Anforderung, bevor der Application Load Balancer die Anforderung an das Ziel sendet. Die möglichen Werte für dieses Attribut sind append
, preserve
und remove
. Der Standardwert für dieses Attribut ist append
.
Wichtig
Der X-Forwarded-For
Header sollte aufgrund potenzieller Sicherheitsrisiken mit Vorsicht verwendet werden. Die Einträge können nur dann als vertrauenswürdig angesehen werden, wenn sie von Systemen hinzugefügt werden, die innerhalb des Netzwerks ordnungsgemäß gesichert sind.
Verarbeitungsmodus
Anfügen
Der Application Load Balancer speichert die IP-Adresse des Clients standardmäßig im X-Forwarded-For
-Anforderungs-Header und übergibt den Header an Ihren Server. Wenn der X-Forwarded-For
-Anforderungsheader nicht in der ursprünglichen Anforderung enthalten ist, erstellt der Load Balancer einen Header mit der Client-IP-Adresse als Anforderungswert. Andernfalls hängt der Load Balancer die Client-IP-Adresse an den vorhandenen Header an und leitet den Header dann an Ihren Server weiter. Der X-Forwarded-For
-Anforderungsheader kann mehrere IP-Adressen enthalten, die durch Kommas getrennt sind.
Der X-Forwarded-For
-Anforderungs-Header besitzt das folgende Format:
X-Forwarded-For: client-ip-address
Nachfolgend finden Sie ein Beispiel für einen X-Forwarded-For
-Anforderungs-Header für einen Client mit der IP-Adresse 203.0.113.7
.
X-Forwarded-For: 203.0.113.7
Im Folgenden finden Sie ein Beispiel für einen X-Forwarded-For
Anforderungsheader für einen Client mit der IPv6 Adresse. 2001:DB8::21f:5bff:febf:ce22:8a2e
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
Wenn das Attribut zur Beibehaltung des Client-Ports (routing.http.xff_client_port.enabled
) im Load Balancer aktiviert ist, enthält der X-Forwarded-For
-Anforderungsheader die an die client-port-number
angehängte client-ip-address
, durch einen Doppelpunkt getrennt. Der Header nimmt dann das folgende Format an:
IPv4 -- X-Forwarded-For: client-ip-address
:client-port-number
IPv6 -- X-Forwarded-For: [client-ip-address]
:client-port-number
Beachten Sie IPv6 nämlich, dass der Load Balancer, wenn er den client-ip-address
an den vorhandenen Header anhängt, die Adresse in eckige Klammern setzt.
Im Folgenden finden Sie ein Beispiel für einen X-Forwarded-For
Anforderungsheader für einen Client mit der IPv4 Adresse 12.34.56.78
und der Portnummer von. 8080
X-Forwarded-For: 12.34.56.78:8080
Im Folgenden finden Sie ein Beispiel für einen X-Forwarded-For
Anforderungsheader für einen Client mit der IPv6 Adresse 2001:db8:85a3:8d3:1319:8a2e:370:7348
und der Portnummer von8080
.
X-Forwarded-For: [2001:db8:85a3:8d3:1319:8a2e:370:7348]:8080
Beibehalten
Der preserve
-Modus im Attribut stellt sicher, dass der X-Forwarded-For
-Header in der HTTP-Anforderung in keiner Weise geändert wird, bevor er an Ziele gesendet wird.
Remove
Der remove
-Modus im Attribut entfernt den X-Forwarded-For
-Header in der HTTP-Anforderung, bevor er an Ziele gesendet wird.
Wenn Sie das Attribut zur Beibehaltung des Client-Ports (routing.http.xff_client_port.enabled
) aktivieren und auch preserve
oder remove
für das routing.http.xff_header_processing.mode
Attribut auswählen, überschreibt der Application Load Balancer das Attribut zur Erhaltung des Client-Ports. Je nach ausgewähltem Modus bleibt der X-Forwarded-For
-Header unverändert oder wird entfernt, bevor er an die Ziele gesendet wird.
Die folgende Tabelle zeigt Beispiele für den X-Forwarded-For
-Header, den das Ziel erhält, wenn Sie entweder den Modus append
, preserve
oder den Modus remove
auswählen. In diesem Beispiel lautet die IP-Adresse des letzten Hops 127.0.0.1
.
Beschreibung der Anforderung | Beispielanforderung | append | preserve | remove |
---|---|---|---|---|
Anforderung wird ohne XFF-Header gesendet | GET /index.html HTTP/1.1 Host: example.com |
X-Forwarded-For: 127.0.0.1 |
Nicht vorhanden | Nicht vorhanden |
Anforderung wird mit einem XFF-Header und einer Client-IP-Adresse gesendet. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4 |
X-Forwarded-For: 127.0.0.4, 127.0.0.1 |
X-Forwarded-For: 127.0.0.4 |
Nicht vorhanden |
Anforderung wird mit einem XFF-Header mit mehreren Client-IP-Adressen gesendet. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4, 127.0.0.8 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8,
127.0.0.1 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8 |
Nicht vorhanden |
X-Forwarded-Proto
Der X-Forwarded-Proto
-Anforderungs-Header hilft Ihnen, das Protokoll (HTTP oder HTTPS) zu identifizieren, das ein Client für die Verbindung zu Ihrem Load Balancer verwendet hat. Ihre Server-Zugriffsprotokolle enthalten nur das Protokoll zwischen dem Server und dem Load Balancer. Sie enthalten keine Informationen über das Protokoll zwischen dem Client und dem Load Balancer. Verwenden Sie den X-Forwarded-Proto
-Anforderungs-Header, um das Protokoll zwischen dem Client und dem Load Balancer zu überprüfen. Elastic Load Balancing speichert das Protokoll zwischen dem Client und dem Load Balancer im X-Forwarded-Proto
-Anforderungs-Header und übergibt den Header an den Server.
Ihre Anwendung oder Website kann das im X-Forwarded-Proto
-Anforderungs-Header gespeicherte Protokoll verwenden, um eine Rückmeldung auszugeben, die auf die entsprechende URL umleitet.
Der X-Forwarded-Proto
-Anforderungs-Header besitzt das folgende Format:
X-Forwarded-Proto: originatingProtocol
Das folgende Beispiel enthält einen X-Forwarded-Proto
-Anforderungs-Header für eine Anforderung, die vom Client als HTTPS-Anforderung ausgegeben wurde:
X-Forwarded-Proto: https
X-Forwarded-Port
Mit dem X-Forwarded-Port
-Anforderungs-Header können Sie den Zielport identifizieren, den der Client für die Verbindung mit dem Load Balancer verwendet hat.