Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Modifier les en-têtes de réponse du serveur d'origine

Dernière mise à jour :Aug 12, 2026

Vous pouvez modifier, supprimer ou ajouter des en-têtes de réponse transmis par un serveur d'origine à ESA, tels que Cache-Control et Expires. La maîtrise de ces en-têtes permet d'optimiser le comportement du cache, de renforcer la sécurité et de personnaliser l'expérience client.

Fonctionnement des en-têtes de réponse origine-ESA

Cette fonctionnalité modifie des en-têtes de réponse spécifiques provenant de l'origine selon des règles prédéfinies. Ces modifications s'appliquent avant que le serveur ESA ne traite l'objet. Si le contenu de la réponse peut être mis en cache, les en-têtes modifiés sont stockés dans le cache avec la réponse.

Ce comportement diffère de la modification des en-têtes de réponse ESA-client. Lors de la modification des en-têtes ESA-client, les changements s'appliquent après le traitement complet de la réponse par ESA (depuis le serveur d'origine ou le cache), juste avant son envoi immédiat au client.

image

Modifier les en-têtes de réponse origine-ESA

  1. Dans la console ESA, sélectionnez Websites, puis dans la colonne Website, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Rules > Transform Rules.

  3. Sélectionnez l'onglet Response Header, cliquez sur l'élément Origin to ESA, puis sur Add, et configurez enfin les conditions de correspondance dans la section Match Conditions. Pour plus d'informations, consultez Composants d'une expression de règle.

    image

  4. Dans la section Modify Response Headers, sélectionnez une action, saisissez un nom et une valeur d'en-tête, puis cliquez sur Submit.

    Le tableau suivant décrit les actions et modes disponibles. Le Mode détermine la méthode de spécification de la valeur d'en-tête : Static utilise une valeur fixe saisie manuellement, tandis que Dynamic évalue une expression de règle lors de l'exécution.

    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 le remplace.

    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 indiquant le pays ou la région de l'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écifique dans la réponse du serveur d'origine.

    Pour remplacer la valeur de l'en-tête de réponse x-code par 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 remplacer la valeur de l'en-tête de réponse Client-Ip-Geo-Location par la valeur dynamique ip.geoip.country, définissez Header Name sur Client-Ip-Geo-Location et Header Value sur ip.geoip.country.

    Delete

    Supprime de la réponse du serveur d'origine toutes les instances de l'en-tête correspondant au nom spécifié. 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 de nom d'en-tête commençant par ali-swift, ali-esa-inner, x-swift ou x-site (insensible à la casse).

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

    • L'action Modify modifie un en-tête de réponse existant et ne prend effet que si un en-tête portant le nom spécifié figure dans la réponse d'origine.

Paramètres des en-têtes de réponse

Parameter

Description

Example

Custom

Permet d'ajouter des en-têtes de réponse personnalisés. Un nom d'en-tête personnalisé doit respecter les exigences suivantes : composé de lettres majuscules, minuscules, chiffres et tirets (-), avec une longueur comprise entre 1 et 100 caractères.

Test-Header

Access-Control-Allow-Credentials

Indique si la réponse peut être exposée à la page. Valeurs : true (la réponse peut être exposée), toute autre valeur (la réponse ne peut pas être exposée).

true

Access-Control-Allow-Headers

Spécifie les en-têtes autorisés pour les requêtes cross-origin.

X-Custom-Header

Access-Control-Allow-Methods

Définit les méthodes autorisées pour les requêtes cross-origin. Séparez plusieurs méthodes par une virgule (,).

POST,GET

Access-Control-Allow-Origin

Désigne les origines autorisées à accéder à la ressource. Fait partie du mécanisme CORS (Cross-Origin Resource Sharing). Valeurs prises en charge : le caractère générique (*) autorise l'accès depuis n'importe quelle origine — adapté aux ressources publiques, à utiliser avec prudence en production en raison des risques CSRF ; une origine unique telle que http://example.com — seules les requêtes provenant de cette origine sont autorisées.

*, http://www.aliyun.com

Access-Control-Expose-Headers

Précise les en-têtes auxquels les scripts côté client peuvent accéder.

Content-Length

Access-Control-Max-Age

Définit la durée de mise en cache des résultats d'une requête preflight, en secondes.

600

Cache-Control

Spécifie les directives de mise en cache pour les requêtes et les réponses.

no-cache

Content-Disposition

Suggère un nom de fichier par défaut si le client enregistre le contenu de la réponse sous forme de fichier.

examplefile.txt

Content-Type

Indique le type de média du contenu de la réponse.

text/plain

Pragma

En-tête HTTP/1.0 utilisé dans les réponses serveur pour définir le comportement de mise en cache des clients.

no-cache

Exemple de configuration d'expression dynamique

L'exemple suivant illustre l'utilisation de la fonction regex_replace avec le champ http.response.headers pour remplacer des caractères spéciaux dans la valeur d'un en-tête de réponse provenant du serveur d'origine.

Scénario : Remplacer le symbole # par - dans la valeur de l'en-tête HTTP example lors de la réponse transmise du serveur d'origine au nœud ESA.

Configuration

Dans la section Modify Response Headers, configurez les paramètres suivants :

Parameter

Value

Type

Dynamic

Operation

Modify

Response Header Name

example

Response Header Value

regex_replace(regex_replace(regex_replace(http.response.headers["example"], "#", "-"), "#", "-"), "#", "-")

Résultat

Value

En-tête de réponse d'origine

example:cat#dog#duck#sheep

En-tête modifié

example:cat-dog-duck-sheep