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.
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
Nachfolgend finden Sie ein Beispiel für einen X-Forwarded-For
-Anforderungs-Header 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, dass bei IPv6 der Load Balancer, wenn er die client-ip-address
an den vorhandenen Header anfügt, die Adresse in eckige Klammern setzt.
Nachfolgend finden Sie ein Beispiel für einen X-Forwarded-For
-Anforderungs-Header für einen Client mit der IPv4-Adresse von 12.34.56.78
und einer Portnummer von 8080
.
X-Forwarded-For: 12.34.56.78:8080
Nachfolgend finden Sie ein Beispiel für einen X-Forwarded-For
-Anforderungs-Header für einen Client mit der IPv6-Adresse von 2001:db8:85a3:8d3:1319:8a2e:370:7348
und einer Portnummer von 8080
.
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.
Anmerkung
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 |
XFF im append -Modus |
XFF im preserve -Modus |
XFF im remove -Modus |
---|---|---|---|---|
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 |
So können Sie den X-Forwarded-For-Header mithilfe der Konsole ändern, beibehalten oder entfernen
Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie im Navigationsbereich Load Balancers aus.
-
Wählen Sie den Load Balancer aus.
-
Klicken Sie auf der Registerkarte Attribute auf Bearbeiten.
-
Wählen Sie im Abschnitt Datenverkehrskonfiguration unter Paketverarbeitung für X-Forwarded-For-Header die Option Anfügen (Standard), Beibehalten oder Entfernen aus.
-
Wählen Sie Änderungen speichern aus.
Um den X-Forwarded-For Header zu ändern, beizubehalten oder zu entfernen, verwenden Sie AWS CLI
Verwenden Sie den modify-load-balancer-attributesBefehl mit dem routing.http.xff_header_processing.mode
Attribut.
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.