Par défaut, Alibaba Cloud CDN et DCDN transmettent les en-têtes de requête, tels que ceux contenant l'adresse IP du client. Vous pouvez également configurer des en-têtes personnalisés. Modifiez les en-têtes de requête sortants pour réécrire les en-têtes HTTP dans les requêtes envoyées à l'origine. Cette fonctionnalité vous 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 aux exigences de votre activité.
Informations générales
Un en-tête de requête HTTP fait partie d'un message de requête HTTP et sert à transmettre des informations de paramètres spécifiques à un serveur.
Lorsqu'un point de présence (POP) CDN ou DCDN envoie une requête à un serveur d'origine pour récupérer des ressources, le serveur d'origine 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 envoyer 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 la rubrique Obtenir l'adresse IP réelle d'un client.
Notes d'utilisation
Une requête sortante est un message HTTP envoyé par CDNDCDN à un serveur d'origine. La modification de la configuration des en-têtes de requête sortants affecte uniquement les messages HTTP envoyés par CDNDCDN à un serveur d'origine. Cette configuration n'affecte pas les messages HTTP servis directement depuis les POP CDNDCDN aux utilisateurs.
Vous ne pouvez pas modifier les en-têtes de requête sortants pour un nom de domaine générique (wildcard).
Si cette fonctionnalité est configurée avec des conditions issues du moteur de règles, l'ordre d'exécution est déterminé par la priorité des conditions de règle, et non par l'ordre de configuration de la fonctionnalité.
-
Par défaut, Alibaba Cloud CDN 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 requise.
En-tête HTTP vers l'origine
Description
Exemple
Ali-Cdn-Real-Ip
L'adresse IP réelle du client se connectant à un POP CDN ou DCDN.
Ali-Cdn-Real-Ip:192.168.0.1
X-Forwarded-For
Les adresses IP du client et de tous les POP intermédiaires CDN ou DCDN 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 la couche application, tel que HTTP ou HTTPS, utilisé par un client pour envoyer une requête à un POP CDN ou DCDN.
X-Client-Scheme:http
Host
Le nom de domaine du site web d'origine accédé par la requête vers l'origine.
Host:example.com
Via
Les noms de tous les POP CDN 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 sortant sur une variable, celle-ci est résolue avec sa valeur réelle au moment 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 la requête vers l'origine pour transmettre les informations de port 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 la requête vers l'origine pour transmettre les informations d'adresse IP du client 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 les adresses IP 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
FAQ
Champs d'en-tête HTTP requis manquants
En tant que proxy intermédiaire, CDN ne peut pas insérer directement des en-têtes de réponse HTTP manquants, tels que Cache-Control, dans les réponses pour corriger les vulnérabilités de sécurité. CDN peut uniquement modifier les en-têtes de requête vers l'origine.
Nous vous recommandons de configurer des en-têtes de requête vers l'origine personnalisés dans la console CDN pour transmettre les paramètres requis à votre serveur d'origine, comme une instance CLB. Si votre serveur d'origine ne prend pas en charge cette option ou ne peut pas être modifié, CDN ne propose pas d'autre moyen d'ajouter directement des en-têtes de réponse.
Pour ajouter des en-têtes HTTP aux réponses que CDN envoie aux clients, consultez la rubrique Modifier les en-têtes de réponse sortants.
En-têtes HTTP personnalisés et vitesse d'accès
Non. La configuration d'en-têtes de requête vers l'origine personnalisés dans CDN n'affecte pas la vitesse d'accès.
Procédure
Connectez-vous à la console CDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, localisez le nom de domaine cible et cliquez sur Manage dans la colonne Actions.
Dans le volet de navigation du domaine, cliquez sur Origin Fetch.
Cliquez sur l'onglet Modify Outgoing Request Header.
Cliquez sur Customize.
-
Configurez l'en-tête de requête sortant.
ImportantSi vous configurez différentes opérations pour le même en-tête de requête vers l'origine, un conflit survient et l'opération ayant la priorité la plus élevée est exécutée. L'ordre de priorité est le suivant : Replace > Add > Change et Delete.
Ajouter un en-tête
Supprimer un en-tête
Modifier un en-tête
Remplacer un en-tête
Cliquez sur OK.