Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Modifier les en-têtes de réponse sortants

Dernière mise à jour :Sep 25, 2026

Les en-têtes de réponse sortants envoyés par les nœuds Edge Security Acceleration (ESA) font partie des en-têtes de réponse HTTP transmis aux clients. En configurant les en-têtes de réponse sortants dans ESA, vous contrôlez les en-têtes renvoyés avec les ressources. ESA permet d'ajouter, de modifier et de supprimer des règles d'en-tête de réponse sortant afin de répondre à des exigences métier spécifiques.

Présentation de la fonctionnalité

Lorsqu'un client demande une ressource, la requête atteint d'abord ESA. Si la requête ne trouve pas de correspondance dans le cache du nœud ESA, une requête est envoyée au serveur d'origine pour récupérer les données. Une fois que le serveur d'origine a renvoyé les données, le nœud ESA modifie la réponse initiale selon les règles d'en-tête de réponse configurées, par exemple en ajoutant, remplaçant ou supprimant des champs spécifiques. Le nœud renvoie ensuite la ressource complète, y compris les en-têtes de réponse, au client afin de satisfaire aux exigences métier relatives au contrôle d'accès interdomaines et à l'optimisation des stratégies de mise en cache.

image

Scénarios

  • Indiquer au client le type de ressource du fichier de réponse ESA : par exemple, ajoutez l'en-tête de réponse Content-Type: text/html pour informer le client que le fichier de réponse ESA est au format HTML, ce qui lui permet de l'afficher correctement.

  • Activer l'accès aux ressources interorigines : lorsqu'un utilisateur demande une ressource depuis un nom de domaine sur ESA, activez l'accès interorigines en configurant l'en-tête de réponse Access-Control-Allow-Origin dans la réponse de ESA. Pour plus d'informations, consultez la rubrique Configurer le partage de ressources interorigines.

  • Personnaliser le comportement de la réponse : ajoutez ou modifiez des en-têtes personnalisés pour ajuster le contenu et le format des réponses reçues par le client. Cela permet d'activer des fonctionnalités spécifiques ou un suivi adapté à vos besoins métier.

Remarques

Si plusieurs règles sont configurées, elles s'exécutent dans l'ordre où elles sont répertoriées, de haut en bas. Si plusieurs règles spécifient le même nom d'en-tête de réponse, une règle ultérieure écrase une règle antérieure. Ce comportement peut entraîner des résultats inattendus.

Exemple 1

  • La réponse initiale inclut l'en-tête test:123.

  • Une règle ajoute l'en-tête test:321.

Si la réponse correspond à la règle, l'en-tête initial test:123 est écrasé par test:321.

Exemple 2

  • La réponse initiale inclut l'en-tête test:123.

  • Une règle ajoute l'en-tête test:321, suivie d'une autre règle qui supprime l'en-tête test.

Si la réponse correspond aux règles, l'en-tête initial test:123 est supprimé.

Procédure

Après avoir ajouté une règle, ESA fait correspondre et exécute les règles séquentiellement en fonction de la priorité d'exécution des règles chaque fois qu'un utilisateur demande une ressource.

  1. Dans la console ESA, accédez à Sites web. Dans la colonne Websites, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Websites > Website.

  3. Sélectionnez l'onglet Modify Response Header, cliquez sur l'élément ESA to Client, puis cliquez sur Create Rule.

  4. Cliquez sur Create Rule. Dans la section If requests match..., définissez les critères de correspondance pour les requêtes des utilisateurs. Pour plus d'informations, consultez la rubrique Syntaxe des expressions de règle.

  5. Dans la section Create Rule, sélectionnez une Operation, saisissez un Modify Response Header et une Response Header Value, puis cliquez sur Response Header Name.

    Action

    Mode

    Description

    Example

    Add

    Static

    Ajoute l'en-tête de réponse spécifié à la réponse du serveur d'origine. Si un en-tête portant le même nom existe déjà, le nouvel en-tête l'écrase.

    Pour ajouter un en-tête de réponse nommé x-code avec la valeur key1, définissez Header Name sur x-code et Header Value sur key1.

    Add

    Dynamic

    La valeur de l'en-tête de réponse peut être une expression de règle.

    Pour ajouter un en-tête de réponse nommé Client-Ip-Geo-Location avec la valeur dynamique ip.geoip.country qui enregistre le pays ou la région de l'adresse IP du client, définissez Header Name sur Client-Ip-Geo-Location et Header Value sur ip.geoip.country.

    Modify

    Static

    Modifie la valeur d'un en-tête de réponse spécifié dans la réponse du serveur d'origine.

    Pour modifier la valeur de l'en-tête de réponse x-code en key2, définissez Header Name sur x-code et Header Value sur key2.

    Modify

    Dynamic

    La valeur de l'en-tête de réponse peut être une expression de règle.

    Pour modifier la valeur de l'en-tête de réponse Client-Ip-Geo-Location en la valeur dynamique ip.geoip.country, définissez Header Name sur Client-Ip-Geo-Location et Header Value sur ip.geoip.country.

    Delete

    —

    Supprime toutes les instances de l'en-tête correspondant au nom d'en-tête spécifié de la réponse du serveur d'origine. L'opération de suppression est identique pour les modes statique et dynamique.

    Pour supprimer l'en-tête de réponse x-code, définissez Header Name sur x-code.

    Remarque
    • Vous ne pouvez pas configurer un nom d'en-tête commençant par ali-swift, ali-esa-inner, x-swift ou x-site (la casse n'est pas prise en compte).

    • Vous pouvez spécifier plusieurs valeurs dans le champ Header Value. Séparez les valeurs par une virgule (,).

    • L'action Modify modifie un en-tête de réponse existant et prend effet uniquement si un en-tête portant le nom spécifié existe dans la réponse initiale.

Exemple de configuration

Remarque

Si vous utilisez OSS comme serveur d'origine et configurez CORS dans les consoles OSS et ESA, la configuration ESA écrase les paramètres CORS d'OSS.

Appliquer à toutes les requêtes

Cas d'utilisation

Autorisez toutes les requêtes provenant de votre site (example.com) à accéder aux ressources depuis n'importe quelle origine.

Étapes

  1. Dans la console ESA, sélectionnez Sites web. Dans la colonne Website, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Rules > Transform Rules. Sur la page Website, cliquez sur l'onglet Modify Response Header. Définissez Response Header Position sur ESA to Client, puis cliquez sur le bouton Create Rule.image

  3. Sur la page Create Response Header Modification Rule, configurez les paramètres comme suit :

    1. Rule Name : saisissez un nom de règle personnalisé, par exemple rule-cors-for-all.

    2. If requests match... : sélectionnez All Requests.

    3. Then execute... : configurez les paramètres suivants :

      • Type : sélectionnez Static.

      • Operation : sélectionnez Add.

      • Response Header Name : saisissez Access-Control-Allow-Origin.

      • Response Header Value : saisissez *.

    image

Résultat

Pour toute requête interorigine, ESA ajoute l'en-tête Access-Control-Allow-Origin: * à la réponse, permettant au navigateur d'afficher la ressource interorigine.

image

Appliquer à des requêtes spécifiques

Cas d'utilisation

Autorisez l'accès interorigine lorsque l'en-tête origin correspond à un sous-domaine de example.com via HTTP ou HTTPS. Par exemple :

  • origin:http://www.example.com

  • origin:https://www.example.com

  • origin:http://image.example.com

  • origin:https://image.example.com

La valeur de l'en-tête de réponse CORS doit correspondre à l'en-tête origin de la requête.

Étapes de configuration

  1. Dans la console ESA, sélectionnez Sites web. Dans la colonne Website, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Rules > Transform Rules. Sur la page Transform Rules, cliquez sur l'onglet Website. Définissez Response Header Position sur Rules, puis cliquez sur le bouton Transform Rules.image

  3. Sur la page Transform Rules, configurez les paramètres comme suit :

    1. Modify Response Header : saisissez un nom de règle personnalisé, par exemple rule-cors-origin.

    2. ESA to Client : pour cet exemple, définissez la condition sur Create Rule Value of origin Create Response Header Modification Rule ^https?://(?:a-zA-Z0-9?\.)+example\.com$.

      Vous pouvez également modifier directement l'expression comme suit : (http.request.headers["origin"] matches "^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$")
      Remarque

      Si votre forfait ne prend pas en charge la correspondance avec des expressions régulières, utilisez l'opérateur Rule Name et répertoriez les valeurs d'en-tête d'origine autorisées.

      Vous pouvez également modifier directement l'expression comme suit : (http.request.headers["origin"] in {"http://www.example.com" "https://www.example.com" "http://image.example.com" "https://image.example.com"})

      image

    3. If requests match... : configurez les paramètres suivants :

      • Header : sélectionnez matches regex.

      • is in : sélectionnez Then execute....

      • Type : saisissez Access-Control-Allow-Origin.

      • Dynamic : saisissez http.request.headers["origin"].

    image

Résultat

Lorsque l'en-tête origin d'une requête interorigine correspond à la règle, ESA ajoute l'en-tête Access-Control-Allow-Origin avec la valeur issue de l'en-tête Origin du client. Le navigateur traite ensuite la réponse et affiche la ressource interorigine.

image

Description des paramètres d'en-tête de réponse

Paramètre d'en-tête de réponse

Description

Exemple

Personnalisé

Permet d'ajouter des en-têtes de réponse personnalisés. Les noms d'en-tête personnalisés doivent respecter les exigences suivantes :

  • Contenir uniquement des lettres, des traits d'union - et des chiffres.

  • Compter entre 1 et 100 caractères.

Test-Header

Cache-Control

Spécifie le mécanisme de mise en cache que les requêtes et réponses du client doivent suivre.

no-cache

Content-Disposition

Spécifie le nom de fichier par défaut fourni lorsque le client enregistre le contenu demandé sous forme de fichier.

examplefile.txt

Content-Type

Spécifie le type de contenu de l'objet de réponse.

text/plain

Pragma

Pragma est un en-tête général défini dans HTTP/1,0. Il définit la manière dont les clients doivent mettre en cache les fichiers dans les réponses du serveur.

no-cache

Access-Control-Allow-Origin

Spécifie quelles origines peuvent accéder à la ressource. Cet en-tête fait partie du mécanisme de partage de ressources interorigines (CORS, Cross-Origin Resource Sharing), qui permet à un serveur de spécifier si ses ressources peuvent être accessibles par une origine donnée. La valeur de cet en-tête de réponse prend en charge les types suivants :

  • Joker * : autorise n'importe quelle origine à accéder à la ressource. Cette option est très permissive et convient aux ressources publiques ne nécessitant aucune authentification. Toutefois, soyez prudent dans les environnements de production, car cela peut introduire des risques de sécurité, tels que des attaques par falsification de requête intersite.

  • Origine unique spécifiée : spécifiez un domaine d'origine particulier pour autoriser uniquement cette origine à accéder à la ressource. Par exemple, http://example.com ou https://api.example.com. Les requêtes provenant d'autres origines seront refusées.

  • *

  • http://www.aliyun.com

Access-Control-Allow-Methods

Spécifie les méthodes de requête interorigine autorisées. Séparez plusieurs méthodes par des virgules ,.

POST,GET

Access-Control-Allow-Headers

Spécifie les en-têtes de requête interorigine autorisés.

X-Custom-Header

Access-Control-Expose-Headers

Spécifie les en-têtes personnalisés auxquels le client peut accéder.

Content-Length

Access-Control-Allow-Credentials

Indique si la réponse à la requête peut être exposée à la page.

  • true : l'exposition est autorisée.

  • Toute autre valeur : l'exposition n'est pas autorisée.

true

Access-Control-Max-Age

Spécifie la durée, en secondes, pendant laquelle le client peut mettre en cache le résultat d'une requête préliminaire pour une ressource spécifique.

600

Documentation connexe

Les fonctionnalités liées aux règles varient en termes de priorité effective, de réentrance et de granularité effective. Pour plus de détails, consultez la rubrique Caractéristiques des fonctionnalités basées sur des règles.