Tous les produits
Search
Centre de documentation

Server Load Balancer:En-têtes HTTP

Dernière mise à jour :Aug 18, 2026

Cette rubrique décrit les en-têtes HTTP supplémentaires pris en charge par Application Load Balancer (ALB) et explique comment les configurer pour un écouteur. Utilisez ces en-têtes pour mettre en œuvre des fonctionnalités spécifiques selon vos besoins.

En-têtes ALB pris en charge

Les en-têtes HTTP sont des champs situés dans la section d'en-tête d'une requête ou d'une réponse HTTP. Vous pouvez personnaliser les en-têtes pour répondre à des besoins spécifiques, ce qui peut entraîner l'utilisation d'en-têtes HTTP supplémentaires par les serveurs web et les navigateurs. Le tableau suivant décrit les en-têtes HTTP supplémentaires pris en charge par ALB ainsi que leurs fonctions.

Champ d'en-tête

Description

Protocoles de l'écouteur

X-Forwarded-For

Permet à l'écouteur d'utiliser l'en-tête X-Forwarded-For pour récupérer l'adresse IP du client.

  • Lorsque l'en-tête X-Forwarded-For est activé :

    ALB ajoute ou supprime l'en-tête X-Forwarded-For d'une requête avant de la transférer à un serveur backend.

    • Add (par défaut)

      Par défaut, ALB enregistre l'adresse IP du client dans le champ d'en-tête X-Forwarded-For et envoie ce champ au serveur backend. Si la requête d'origine ne contient pas de champ d'en-tête X-Forwarded-For, ALB crée un champ d'en-tête X-Forwarded-For contenant l'adresse IP du client. Sinon, ALB ajoute l'adresse IP du client au champ d'en-tête X-Forwarded-For existant, puis envoie le champ au serveur backend. Le champ d'en-tête de requête X-Forwarded-For peut contenir plusieurs adresses IP séparées par des virgules.

    • Remove

      ALB supprime l'en-tête X-Forwarded-For de la requête avant de la transférer au serveur backend.

  • Lorsque l'en-tête X-Forwarded-For est désactivé :

    ALB ne modifie pas l'en-tête X-Forwarded-For de la requête avant de la transférer au serveur backend.

Format :

X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …

Cliquez pour voir un exemple de l'en-tête X-Forwarded-For reçu par le serveur backend en fonction de l'action sélectionnée (Ajouter, Supprimer ou Désactiver).

Dans cet exemple, l'adresse IP du client qui se connecte à ALB est 127.0.0.1.

Description de la requête

Exemple de requête

Activer le champ d'en-tête X-Forwarded-For

Désactiver le champ d'en-tête X-Forwarded-For

Ajouter

Supprimer

La requête d'origine ne contient pas d'en-tête X-Forwarded-For

GET /index.html HTTP/1.1

Host: example.com

X-Forwarded-For: 127.0.0.1

Aucun

Aucun

La requête d'origine contient un en-tête X-Forwarded-For avec une adresse IP client

GET /index.html HTTP/1.1

Host: example.com

X-Forwarded-For: 127.0.0.2

X-Forwarded-For: 127.0.0.2, 127.0.0.1

Aucun

X-Forwarded-For: 127.0.0.2

La requête d'origine contient un en-tête X-Forwarded-For avec plusieurs adresses IP client

GET /index.html HTTP/1.1

Host: example.com

X-Forwarded-For: 127.0.0.2, 127.0.0.3

X-Forwarded-For: 127.0.0.2, 127.0.0.3, 127.0.0.1

Aucun

X-Forwarded-For: 127.0.0.2, 127.0.0.3

Pour obtenir des instructions sur la récupération de l'adresse IP réelle du client, consultez la rubrique Récupérer l'IP du client sur un serveur backend.

SLB-ID

Ajoute l'en-tête SLB-ID, qui contient l'ID de l'instance ALB.

  • HTTP

  • HTTPS

  • QUIC

X-Forwarded-Proto

Ajoute l'en-tête X-Forwarded-Proto, qui contient le protocole utilisé par le client pour se connecter à l'écouteur. Votre application peut utiliser le protocole stocké dans l'en-tête X-Forwarded-Proto pour rediriger les requêtes vers l'URL cible.

Format :

X-Forwarded-Proto: <originatingProtocol>

Cas d'utilisation typique : une instance ALB utilise un écouteur HTTPS, et la communication entre l'écouteur et son groupe de serveurs backend utilise HTTP. Dans ce scénario, le serveur backend reçoit la requête avec le protocole HTTP. Si le serveur backend est configuré avec une règle de redirection automatique de HTTP vers HTTPS, il pourrait déterminer à tort que le client utilise HTTP, provoquant ainsi une boucle de redirection. En activant l'en-tête X-Forwarded-Proto, le serveur backend peut récupérer le protocole de requête d'origine du client, évitant ainsi cette redirection déclenchée par erreur. Nous vous recommandons également d'activer l'en-tête X-Forwarded-Port afin que le serveur backend puisse obtenir le port de requête d'origine du client.

  • HTTP

  • HTTPS

  • QUIC

X-Forwarded-Port

Ajoute l'en-tête X-Forwarded-Port, qui contient le port de l'écouteur ayant reçu la requête.

Format :

X-Forwarded-Port: <port>
  • HTTP

  • HTTPS

  • QUIC

X-Forwarded-Host

Ajoute l'en-tête X-Forwarded-Host, qui contient l'hôte d'origine demandé par le client.

Format :

X-Forwarded-Host: <host>
  • HTTP

  • HTTPS

  • QUIC

X-Forwarded-Client-srcport

Ajoute l'en-tête X-Forwarded-Client-srcport, qui contient le port source du client.

Format :

X-Forwarded-Client-srcport: <port>

X-Forwarded-Clientcert-subjectdn

Activez le champ d'en-tête X-Forwarded-Clientcert-subjectdn pour obtenir les informations relatives au propriétaire du certificat client utilisé pour accéder à l'instance ALB.

Après avoir activé cet en-tête, vous devez saisir un nom d'en-tête HTTP personnalisé.

HTTPS

X-Forwarded-Clientcert-issuerdn

Activez le champ d'en-tête X-Forwarded-Clientcert-issuerdn pour récupérer les informations relatives à l'émetteur du certificat client utilisé pour accéder à l'instance ALB.

Après avoir activé cet en-tête, vous devez saisir un nom d'en-tête HTTP personnalisé.

HTTPS

X-Forwarded-Clientcert-fingerprint

Activez le champ d'en-tête X-Forwarded-Clientcert-fingerprint pour obtenir la valeur d'empreinte du certificat client utilisé pour accéder à l'instance ALB.

Après avoir activé cet en-tête, vous devez saisir un nom d'en-tête HTTP personnalisé.

HTTPS

X-Forwarded-Clientcert-clientverify

Activez le champ d'en-tête X-Forwarded-Clientcert-clientverify pour obtenir le résultat de la vérification du certificat client utilisé pour accéder à l'instance ALB.

Après avoir activé cet en-tête, vous devez saisir un nom d'en-tête HTTP personnalisé.

HTTPS

Les en-têtes HTTP supplémentaires mentionnés ci-dessus sont configurés à l'aide de commutateurs au niveau de l'écouteur. Lorsqu'ils sont activés, ALB ajoute automatiquement les en-têtes correspondants aux requêtes transférées au serveur backend. Si vous devez personnaliser les valeurs des en-têtes, par exemple en spécifiant le protocole ou le port de la requête d'origine, définissez-les manuellement en utilisant l'action Insérer un en-tête dans une règle de transfert. Les commutateurs au niveau de l'écouteur conviennent à la plupart des scénarios de transit, tandis que les règles de transfert sont idéales pour les scénarios nécessitant un contrôle granulaire des valeurs des en-têtes. Ces paramètres se trouvent respectivement dans la section Paramètres avancés de la configuration de l'écouteur et dans l'éditeur de règles de transfert.

Remarque
  • Nous vous recommandons de faire en sorte que vos serveurs backend respectent la spécification HTTP et traitent les clés d'en-tête HTTP sans distinction de casse.

    • L'en-tête X-Forwarded-For qu'ALB transmet aux serveurs backend commence toujours par une lettre majuscule.

    • Pour les autres en-têtes HTTP supplémentaires, si la requête du client contient déjà l'un de ces en-têtes, ALB conserve sa casse d'origine lors du transfert. Sinon, ALB ajoute l'en-tête en utilisant la casse indiquée dans le tableau ci-dessus.

  • Lorsque vous activez X-Forwarded-Clientcert-subjectdn, X-Forwarded-Clientcert-issuerdn, X-Forwarded-Clientcert-fingerprint ou X-Forwarded-Clientcert-clientverify, vous ne pouvez pas définir le nom de l'en-tête HTTP personnalisé sur l'un des champs réservés suivants : slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, x-forwarded-host, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip ou authority.

  • Description des en-têtes HTTP supplémentaires liés aux certificats clients

    Les en-têtes HTTP supplémentaires suivants prennent effet uniquement lorsque l'authentification mutuelle est activée pour un écouteur HTTPS.

    X-Forwarded-Clientcert-subjectdn

    • Objectif : Contient le nom distinctif (DN) du sujet issu du certificat client.

    • Contenu : Les informations d'identité du propriétaire du certificat.

    • Exemple de format : X-Forwarded-Clientcert-Subjectdn: CN=client.example.com,O=Example Corp,C=US

    • Comprend :

      • CN (Common Name)

      • O (Organization)

      • OU (Organizational Unit)

      • C (Country)

      • ST (State)

      • L (Locality)

    X-Forwarded-Clientcert-issuerdn

    • Objectif : Contient le nom distinctif (DN) de l'émetteur issu du certificat client.

    • Contenu : Informations sur l'autorité de certification (CA) qui a émis le certificat.

    • Exemple de format : X-Forwarded-Clientcert-Issuerdn: CN=Example CA,O=Example Corp,C=US

    • Cas d'utilisation : Vérifier si le certificat a été émis par une autorité de certification de confiance.

    X-Forwarded-Clientcert-fingerprint

    • Objectif : Contient l'empreinte numérique du certificat client.

    • Contenu : L'empreinte du certificat. Il s'agit d'une valeur de hachage de longueur fixe calculée à partir de l'intégralité du contenu du certificat à l'aide d'un algorithme de hachage, tel que SHA-1 ou SHA-256. Elle sert d'identifiant unique pour le certificat.

    • Exemple de format : X-Forwarded-Clientcert-Fingerprint: SHA256=1234567890abcdef...

    • Cas d'utilisation : Identifier de manière unique un certificat pour la validation et l'audit.

    X-Forwarded-Clientcert-clientverify

    • Objectif : Contient le résultat de la vérification du certificat client.

    • Contenu : L'état de vérification du certificat.

    • Valeurs possibles :

      • SUCCESS : Le certificat est vérifié.

      • FAILED : La vérification du certificat a échoué.

      • NONE : Aucun certificat client n'a été présenté.

      • EXPIRED : Le certificat a expiré.

      • REVOKED : Le certificat a été révoqué.

Ajouter un en-tête dans la console

Ajouter un en-tête lors de la création d'un écouteur

  1. Connectez-vous à la console ALB.

  2. Dans la barre de navigation supérieure, sélectionnez la région où l'instance ALB est déployée.

  3. Utilisez l'une des méthodes suivantes pour ouvrir l'assistant de configuration de l'écouteur :

    • Sur la page Instances, recherchez l'instance que vous souhaitez gérer et cliquez sur Create Listener dans la colonne Actions.

    • Sur la page Instances, cliquez sur l'ID de l'instance cible. Sous l'onglet Listener, cliquez sur Create Listener.

  4. Dans l'assistant Configure Listener, configurez les paramètres suivants et cliquez sur Next.

    Paramètre

    Description

    Listener Protocol

    Sélectionnez un protocole pour l'écouteur.

    Advanced Settings

    Cliquez sur Modify pour développer les paramètres avancés.

    Custom HTTP Header

    Sélectionnez les en-têtes HTTP supplémentaires que vous souhaitez activer en fonction de vos besoins métier.

    Remarque

    Cette section décrit uniquement les paramètres liés aux en-têtes. Pour plus d'informations sur les autres paramètres, consultez les rubriques suivantes :

  5. Suivez les instructions à l'écran pour terminer la création de l'écouteur.

Ajouter un en-tête à un écouteur existant

  1. Connectez-vous à la console ALB.

  2. Dans la barre de navigation supérieure, sélectionnez la région où l'instance ALB est déployée.

  3. Sur la page Instances, cliquez sur l'ID de l'instance cible.

  4. Sous l'onglet Listener, recherchez l'écouteur cible et choisissez 更多>Modify Listener dans la colonne Actions.

  5. Dans la boîte de dialogue Modify Listener, cliquez sur Modify à droite de Advanced Settings.

  6. Dans la section Custom HTTP Header, activez ou désactivez les en-têtes selon vos besoins, puis cliquez sur Save.

Ajouter un en-tête à l'aide d'une API

Vous pouvez configurer des en-têtes supplémentaires lors de la création d'un écouteur ou modifier la configuration des en-têtes d'un écouteur existant.

  • Créer un écouteur : Appelez l'opération d'API CreateListener et configurez le paramètre XForwardedForConfig.

  • Modifier un écouteur existant : Appelez l'opération d'API UpdateListenerAttribute pour mettre à jour le paramètre XForwardedForConfig.

Références

Console

API

  • CreateListener : Crée un écouteur HTTP, HTTPS ou QUIC. Vous pouvez ajouter des en-têtes HTTP en définissant le paramètre XForwardedForConfig.

  • UpdateListenerAttribute : Met à jour la configuration d'un écouteur. Vous pouvez mettre à jour le paramètre XForwardedForConfig pour modifier la configuration des en-têtes.