Configurez des règles pour ajouter, modifier ou supprimer des en-têtes HTTP dans les requêtes d'origine envoyées depuis les points de présence (POP) ESA vers votre serveur d'origine.
Fonctionnement
Lorsqu'une requête client entraîne un défaut de cache, le POP ESA transmet une requête d'origine à votre serveur. Vous avez la possibilité de personnaliser les en-têtes HTTP de cette requête d'origine :
Notes
Moment d'application des règles : Les règles s'appliquent uniquement aux récupérations d'origine (défauts de cache). Elles n'affectent pas les requêtes servies depuis le cache ESA.
Ordre d'exécution : Au sein d'une règle, les opérations s'exécutent de haut en bas. Si plusieurs opérations ciblent le même en-tête, la dernière prévaut. Par exemple, si la requête client contient
test:123et que la règle ajoute d'abordtest:321puis supprimetest, l'en-têtetestest retiré de la requête d'origine.
Procédure
À la réception d'une requête, ESA exécute les règles correspondantes selon la priorité d'exécution des règles.
Dans la console ESA, choisissez Websites, puis cliquez sur le site cible dans la colonne Website.
Dans le volet de navigation de gauche, sélectionnez .
-
Cliquez sur l'onglet Modify request header, sélectionnez l'élément ESA to Origin, puis cliquez sur Create Rule.

-
Dans la zone Add Request Header Modification Rule, configurez les paramètres suivants :
Paramètre Description Rule Name Nom personnalisé attribué à la règle. If requests match... All Requests : s'applique à toutes les requêtes du site actuel. Filtered Requests : concerne uniquement le trafic correspondant à une expression personnalisée. Modify Request Header Définit l'opération, le type et les détails de l'en-tête. Consultez les sections Opérations et Restrictions.
Opérations
| Opération | Type | Comportement | Exemple | |
|---|---|---|---|---|
| Add | Static | Ajoute l'en-tête à la requête d'origine. Si un en-tête portant le même nom existe déjà, la nouvelle valeur le remplace. | Request Header Name : x-code \ |
Request Header Value : key1 |
| Add | Dynamic | Insère un en-tête dont la valeur est calculée à partir d'une expression. | Request Header Name : True-Client-IP \ |
Request Header Value : ip.src |
| Change | Static | Modifie la valeur d'un en-tête existant. Cette action ne s'applique que si un en-tête portant le nom spécifié figure dans la requête initiale. | Request Header Name : x-code \ |
Request Header Value : key2 |
| Change | Dynamic | Met à jour la valeur d'un en-tête existant au moyen d'une expression. L'opération requiert la présence de l'en-tête nommé dans la requête originale. | Request Header Name : True-Client-IP \ |
Request Header Value : ip.src |
| Delete | N/A | Supprime tous les en-têtes correspondant au Request Header Name indiqué, y compris les doublons éventuels. | Request Header Name : x-code |
Restrictions
Évitez d'utiliser un Request Header Name commençant par
ali-ouAli-.Pour définir plusieurs valeurs dans Request Header Value, séparez-les par une virgule (
,).L'opération Delete fonctionne de manière identique pour les types Static et Dynamic.
L'opération Change ne s'applique que si un en-tête portant le nom spécifié existe déjà dans la requête initiale.
Au sein d'une même règle, les opérations s'exécutent séquentiellement. Lorsque différentes opérations visent le même nom d'en-tête, la dernière écrase les précédentes.
Exemples
Suivez les étapes 1 à 3 de la section Procédure pour accéder à la zone Add Request Header Modification Rule.
Ajouter l'adresse IP source du client à toutes les requêtes
Définissez les paramètres ci-après :
Rule Name :
add-client-ip-outIf requests match... : Sélectionnez All Requests.
-
Modify Request Header :
Type : Dynamic
Operation : Add
Request Header Name :
True-Client-IP-OUTRequest Header Value :
ip.src

Vérification
Avant : L'en-tête de requête ne contient pas l'adresse IP du client.

Après : L'en-tête true-client-ip-out incluant l'adresse IP du client a été ajouté.

Ajouter le code pays pour les requêtes hors Chine (Hong Kong)
Renseignez les paramètres suivants :
Rule Name :
add-client-countryIf requests match... : Choisissez Filtered Requests et saisissez
Country/Region does not equal China (Hong Kong). Il est également possible de modifier directement l'expression :(ip.geoip.country ne "HK")-
Modify Request Header :
Type : Dynamic
Operation : Add
Request Header Name :
IP-Country-CodeRequest Header Value :
ip.geoip.country

Vérification
Avant : L'en-tête de requête n'inclut pas le code pays associé à l'adresse IP du client.

Après : L'en-tête ip-country-code contenant le code pays du client apparaît.

Ajouter le code de province pour un chemin URI spécifique
Spécifiez les paramètres ci-dessous :
Rule Name :
add-client-provinceIf requests match... : Optez pour Filtered Requests et entrez
URI Path equals /content. Vous pouvez aussi éditer l'expression manuellement :(http.request.uri.path eq "/content")-
Modify Request Header :
Type : Dynamic
Operation : Add
Request Header Name :
IP-Province-CodeRequest Header Value :
ip.src.subdivision_1_iso_code

Vérification
Avant : Aucun code de province lié à l'IP client n'est présent dans l'en-tête de requête.

Après : L'en-tête ip-province-code indiquant la province du client a bien été inséré.

Références
La rubrique Fonctionnement des règles ESA détaille la priorité d'exécution, le comportement des règles ainsi que la portée de la configuration.