En-têtes HTTP et Equilibreurs de charge classiques
Les demandes HTTP et les réponses HTTP utilisent des champs d'en-tête pour envoyer
des informations concernant les messages HTTP. Les champs d'en-tête sont des paires
nom-valeur dont les noms et les valeurs sont séparés par un signe deux points, et
qui sont séparées entre elles par un retour chariot (CR) et un saut de ligne (LF).
Un ensemble standard de champs d'en-tête HTTP est défini dans la section du RFC 2616
concernant les en-têtes de message. Des en-têtes HTTP non standard couramment utilisés par les applications sont également
disponibles. Certains des en-têtes HTTP non standard ont un préfixe X-Forwarded
. Les Equilibreurs de charge classiques prennent en charge les en-têtes X-Forwarded
suivants.
Pour plus d'informations sur les connexions HTTP, consultez Routage des demandes dans le Elastic Load Balancing Guide de l'utilisateur.
Prérequis pour
-
Vérifiez que les paramètres de votre écouteur prennent en charge les en-têtes X-Forwarded. Pour plus d'informations, consultez Configurations d'écouteur des Equilibreurs de charge classiques.
-
Configurez votre serveur web pour consigner les adresses IP client.
En-têtes X-Forwarded
X-Forwarded-For
L'en-tête de demande X-Forwarded-For
vous aide à identifier l'adresse IP d'un client lorsque vous utilisez un équilibreur
de charge HTTP ou HTTPS. Comme les équilibreurs de charge interceptent le trafic entre
les clients et les serveurs, vos journaux d'accès au serveur contiennent uniquement
l'adresse IP de l'équilibreur de charge. Pour voir l'adresse IP du client, utilisez
l'en-tête de demande X-Forwarded-For
. Elastic Load Balancing stocke l'adresse IP du client dans l'en-tête de demande X-Forwarded-For
et transmet l'en-tête à votre serveur.
L'en-tête de demande X-Forwarded-For
a le format suivant :
X-Forwarded-For:
client-ip-address
Voici un exemple d'en-tête de demande X-Forwarded-For
pour un client avec l'adresse IP 203.0.113.7
.
X-Forwarded-For: 203.0.113.7
Voici un exemple d'en-tête de demande X-Forwarded-For
pour un client avec l'adresse IPv6 2001:DB8::21f:5bff:febf:ce22:8a2e
.
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
X-Forwarded-Proto
L'en-tête de demande X-Forwarded-Proto
vous permet d'identifier le protocole (HTTP ou HTTPS) utilisé par un client pour
se connecter à votre équilibreur de charge. Les journaux d'accès de votre serveur
contiennent uniquement le protocole utilisé entre le serveur et l'équilibreur de charge ;
ils ne comportent aucune information sur le protocole utilisé entre le client et l'équilibreur
de charge. Pour déterminer le protocole utilisé entre le client et l'équilibreur de
charge, utilisez l'en-tête de demande X-Forwarded-Proto
. Elastic Load Balancing stocke le protocole utilisé entre le client et l'équilibreur
de charge dans l'en-tête de demande X-Forwarded-Proto
et transmet l'en-tête à votre serveur.
Votre application ou site web peut utiliser le protocole stocké dans l'en-tête de
demande X-Forwarded-Proto
pour générer une réponse qui effectue une redirection vers l'URL appropriée.
L'en-tête de demande X-Forwarded-Proto
a le format suivant :
X-Forwarded-Proto:
originatingProtocol
L'exemple suivant contient un en-tête de demande X-Forwarded-Proto
pour une demande provenant du client en tant que demande HTTPS :
X-Forwarded-Proto: https
X-Forwarded-Port
L'en-tête de demande X-Forwarded-Port
vous permet d'identifier le port utilisé par le client pour se connecter à l'équilibreur
de charge.