Par défaut, Alibaba Cloud et DCDN transfèrent les en-têtes de requête, y compris ceux contenant l'adresse IP du client. Vous pouvez également configurer des en-têtes personnalisés. Pour réécrire les en-têtes HTTP dans les requêtes vers l'origine, modifiez les en-têtes de requête sortante. Cette fonctionnalité permet d'ajouter, de supprimer, de modifier ou de remplacer les en-têtes de requête HTTP vers l'origine afin de répondre à vos besoins métier.
Prérequis
Cette fonctionnalité n'est pas activée par défaut. Pour l'utiliser sur un domaine, vous devez d'abord soumettre une demande pour l'activer.
Contexte
Un en-tête de requête HTTP fait partie intégrante d'un message de requête HTTP et sert à transmettre des paramètres spécifiques à un serveur.
Lorsqu'un point de présence (POP) ou DCDN envoie une requête à un serveur d'origine pour récupérer des ressources, ce dernier peut accéder aux informations contenues dans l'en-tête de la requête vers l'origine. Utilisez cette fonctionnalité pour réécrire les informations d'en-tête HTTP dans les requêtes vers l'origine et transmettre des paramètres spécifiques à votre serveur d'origine.
Pour savoir comment un serveur d'origine récupère l'adresse IP réelle du client à partir de l'en-tête X-Forwarded-For dans une requête vers l'origine, consultez Obtenir l'adresse IP réelle d'un client.
Remarques d'utilisation
Une requête sortante est un message HTTP envoyé par DCDN à un serveur d'origine. La modification de la configuration des en-têtes de requête sortante affecte uniquement les messages HTTP envoyés par DCDN au serveur d'origine. Cette configuration n'a aucun impact sur les messages HTTP servis directement aux utilisateurs par les POP DCDN.
La modification des en-têtes de requête sortante n'est pas prise en charge pour les noms de domaine génériques.
Si cette fonctionnalité est configurée avec des conditions issues du moteur de règles, l'ordre d'exécution dépend de la priorité des conditions de règle, et non de l'ordre de configuration de la fonctionnalité.
-
Par défaut, Alibaba Cloud et DCDN incluent les en-têtes de requête HTTP suivants dans les requêtes vers l'origine. Aucune configuration supplémentaire n'est nécessaire.
En-tête HTTP vers l'origine
Description
Exemple
Ali-Cdn-Real-Ip
L'adresse IP réelle du client se connectant à un POP ou DCDN.
Ali-Cdn-Real-Ip:192.168.0.1
X-Forwarded-For
Les adresses IP du client et de tous les POP ou DCDN intermédiaires situés sur le chemin de la requête vers l'origine.
X-Forwarded-For:192.168.0.1, 172.16.0.1
X-Client-Scheme
Le protocole de couche applicative, tel que HTTP ou HTTPS, utilisé par un client pour envoyer une requête à un POP ou DCDN.
X-Client-Scheme:http
Host
Le nom de domaine du site d'origine ciblé par la requête vers l'origine.
Host:example.com
Via
Les noms de tous les POP ou DCDN traversés par la requête du client.
Via:cn2546-10.l1, cache1.cn2546-10, l2cn2547-7.l2, cache1.l2cn2547-7
-
Si vous définissez la valeur d'un en-tête de requête sortante sur une variable, celle-ci est résolue à sa valeur réelle lors de l'exécution. Les variables suivantes sont disponibles.
Paramètre
En-tête HTTP vers l'origine
Description
Exemple
Ali-Cdn-Real-Port
$http_Ali_Cdn_Real_Port
Ajoute le port réel du client à l'en-tête de requête vers l'origine afin de transmettre ces informations au serveur d'origine.
Ali-Cdn-Real-Port:80
Ali-Cdn-Real-Ip
$http_Ali_Cdn_Real_Ip
Ajoute l'adresse IP réelle du client à l'en-tête de requête vers l'origine afin de transmettre ces informations au serveur d'origine.
Ali-Cdn-Real-Ip:192.168.0.1
x_forwarded_for
$proxy_add_x_forwarded_for
Ajoute l'adresse IP du client et celles des serveurs proxy intermédiaires à l'en-tête X-Forwarded-For pour les transmettre au serveur d'origine.
X-Forwarded-For:192.168.0.1, 172.16.0.1
Procédure
Connectez-vous à la console DCDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, recherchez le nom de domaine à gérer et cliquez sur Configure dans la colonne Actions.
Dans le volet de navigation du domaine, cliquez sur Origin Fetch.
Cliquez sur l'onglet Modify Outgoing Request Header.
Dans l'onglet Modify Outgoing Request Header, cliquez sur Add.
-
Configurez les paramètres de modification de l'en-tête.
ImportantSi plusieurs opérations contradictoires ciblent le même en-tête de requête vers l'origine, seule celle ayant la priorité la plus élevée est exécutée. L'ordre de priorité, du plus élevé au plus bas, est le suivant : . Par exemple, si vous configurez à la fois une opération Add et une opération Delete pour le même en-tête, seule l'opération Add s'exécute.
Cliquez sur OK.