Elastic Load Balancing
Classic Load Balancers

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

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.