Partage via


Actions d’ensemble de règles

Un ensemble de règles Azure Front Door est constitué de règles avec une combinaison de conditions de correspondance et d’actions. Cet article fournit les descriptions détaillées des actions que vous pouvez utiliser dans un ensemble de règles. Une action définit le comportement appliqué à un type de requête identifié par une ou plusieurs conditions de correspondance. Dans un ensemble de règles, une règle peut avoir jusqu’à cinq actions. Front Door prend également en charge la variable de serveur dans une action d’ensemble de règles.

Les actions suivantes peuvent être utilisées dans un ensemble de règles :

Remplacement de configuration d’itinéraire

L’action de remplacement de configuration de l’itinéraire est utilisée pour remplacer le groupe d’origine ou la configuration de mise en cache pour la requête. Vous pouvez choisir de remplacer ou d’honorer les configurations de groupe d’origine spécifiées dans l’itinéraire. Toutefois, lorsque vous substituez la configuration de l’itinéraire, vous devez configurer la mise en cache. Dans le cas contraire, la mise en cache est désactivée pour la requête.

Vous pouvez également remplacer la manière dont les fichiers sont mis en cache pour des requêtes spécifiques, notamment :

  • Remplacez le comportement de mise en cache spécifié par l’origine.
  • Mode d’utilisation des paramètres de chaîne de requête pour générer la clé de cache de la requête.
  • La valeur de la durée de vie (TTL) pour contrôler la durée pendant laquelle le contenu reste dans le cache.

Propriétés

Propriété Valeurs prises en charge
Remplacer le groupe d’origine
  • Oui : remplacer le groupe d’origine utilisé pour la requête.
  • Non : utiliser le groupe d’origine spécifié dans l’itinéraire.
Mise en cache
  • Activé : forcer l’activation de la mise en cache pour la requête.
  • Activé : forcer la désactivation de la mise en cache pour la requête.

Lorsque Remplacer le groupe d’origine est défini sur Oui, définissez les propriétés suivantes :

Propriété Valeurs prises en charge
Groupe d’origines Groupe d’origines vers lequel la demande doit être acheminée. Ce paramètre remplace la configuration spécifiée dans l’itinéraire du point de terminaison Front Door.
Protocole de transfert Protocole de Front Door à utiliser lors du transfert de la requête à l’origine. Les valeurs prises en charge sont HTTP uniquement, HTTPS uniquement, Mettre en correspondance la requête entrante. Ce paramètre remplace la configuration spécifiée dans l’itinéraire du point de terminaison Front Door.

Lorsque la mise en cache est définie sur activé, définissez les propriétés suivantes :

Propriété Valeurs prises en charge
Comportement de mise en cache des chaînes de requête
  • Ignorer les chaînes de requête : les chaînes de requête ne sont pas prises en compte quand la clé de cache est générée. Dans les modèles ARM, définissez la propriété queryStringCachingBehavior sur IgnoreQueryString.
  • Utiliser la chaîne de requête : chaque URL unique possède sa propre clé de cache. Dans les modèles ARM, utilisez queryStringCachingBehavior de UseQueryString.
  • Ignorer la chaîne de requête spécifiée : les chaînes de requête spécifiées dans les paramètres sont exclues quand la clé de cache est générée. Dans les modèles ARM, définissez la propriété queryStringCachingBehavior sur IgnoreSpecifiedQueryStrings.
  • Inclure la chaîne de requête spécifiée : les chaînes de requête spécifiées dans les paramètres sont inclues quand la clé de cache est générée. Dans les modèles ARM, définissez la propriété queryStringCachingBehavior sur IncludeSpecifiedQueryStrings.
Paramètres de requête Liste des noms de paramètre de chaîne de requête, séparés par des virgules. Cette propriété est définie uniquement lorsque Comportement de mise en cache de la chaîne de requête est défini sur Ignorer les chaînes de requête spécifiées ou Inclure les chaînes de requête spécifiées.
Compression
  • Activé : Front Door compresse dynamiquement le contenu en périphérie, ce qui a pour effet de réduire la taille et le délai de la réponse. Pour plus d’informations, consultez Compression de fichier. Dans les modèles ARM, définissez la propriété isCompressionEnabled sur Enabled.
  • Désactivé. Front Door n’effectue pas de compression. Dans les modèles ARM, définissez la propriété isCompressionEnabled sur Disabled.
Comportement du cache
  • Respect de l’origine : Front Door respecte toujours la directive d’en-tête de réponse d’origine. Si la directive d’origine est absente, Front Door met le contenu en cache entre 1 et 3 jours. Dans les modèles ARM, définissez la propriété cacheBehavior sur HonorOrigin.
  • Toujours Remplacer : la valeur TTL retournée par votre origine est remplacée par la valeur spécifiée dans l’action. Ce comportement est appliqué uniquement si la réponse est mise en cache. Dans les modèles ARM, définissez la propriété cacheBehavior sur OverrideAlways.
  • Remplacer si l’origine est manquante : si aucune valeur TTL n’est retournée à partir de votre origine, la règle la définit sur la valeur spécifiée dans l’action. Ce comportement est appliqué uniquement si la réponse est mise en cache. Dans les modèles ARM, définissez la propriété cacheBehavior sur OverrideIfOriginMissing.
Durée du cache Lorsque le Comportement du cache est défini sur Override always ou Override if origin missing, ces champs doivent spécifier la durée du cache à utiliser. La durée maximale est de 366 jours. Cette propriété est définie uniquement lorsque Comportement du cache est défini sur Substituer toujours ou sur Remplacer si l’origine est manquante.
  • Dans le Portail Azure : spécifiez les jours, les heures, les minutes et les secondes.
  • Dans les modèles ARM : utilisez cacheDuration pour spécifier la durée au format d.hh:mm:ss.

Exemples

Dans cet exemple, nous acheminons toutes les demandes mises en correspondance vers un groupe d’origines nommé MyOriginGroup, quelle que soit la configuration de l’itinéraire du point de terminaison Front Door.

Capture d’écran du portail illustrant l’action de remplacement du groupe d’origines.

Dans cet exemple, nous définissons la clé de cache pour inclure un paramètre de chaîne de requête nommé customerId. La compression est activée et les stratégies de mise en cache de l’origine sont honorées.

Capture d’écran du portail montrant l’action de la chaîne de requête de clé de cache.

Dans cet exemple, nous remplaçons l’expiration du cache à 6 heures pour les requêtes correspondantes qui ne spécifient pas déjà une durée de cache. Front Door ignore la chaîne de requête lorsqu’elle détermine la clé de cache, et la compression est activée.

Capture d’écran du portail montrant l’action d’expiration du cache.

Modifier l’en-tête de requête

Utilisez l’action modifier l’en-tête de requête pour modifier les en-têtes de la requête lorsqu’elle est envoyée à votre origine.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Ajouter : L’en-tête spécifié dans est ajouté à la requête avec la valeur spécifiée. Si l’en-tête est déjà présent, la valeur est ajoutée à la valeur d’en-tête existante à l’aide de la concaténation de chaînes. Aucun délimiteur n’est ajouté. Dans les modèles ARM, utilisez headerAction de Append.
  • Remplacer : L’en-tête spécifié est ajouté à la requête avec la valeur spécifiée. Si l’en-tête est déjà présent, la valeur spécifiée remplace la valeur existante. Dans les modèles ARM, utilisez headerAction de Overwrite.
  • Supprimer : Si l’en-tête spécifié dans la règle est présent, l’en-tête est supprimé de la requête. Dans les modèles ARM, utilisez headerAction de Delete.
Nom de l’en-tête Nom de l'en-tête à modifier.
Valeur de l’en-tête Valeur à ajouter ou à remplacer.

Exemple

Dans cet exemple, nous ajoutons la valeur AdditionalValue à l'en-tête de requête MyRequestHeader. Si l’origine affecte à l’en-tête de réponse la valeur ValueSetByClient, une fois cette action appliquée, l’en-tête de requête a la valeur ValueSetByClientAdditionalValue.

Capture d’écran du portail montrant l’action modifier l’en-tête de requête.

Remarque

Certains en-têtes réservés Azure Front Door ne peuvent pas être modifiés à l’aide d’actions du moteur de règles, y compris les actions pour modifier les en-têtes de requête et les en-têtes de réponse. La liste suivante d’en-têtes réservés ne peut pas être modifiée, ainsi que les en-têtes précédés de x-ec et de x-fd.

  • Accept-Ranges
  • Host
  • Connection
  • Content-Length
  • Transfer-Encoding
  • TE
  • Last-Modified
  • Keep-Alive
  • Expect
  • Upgrade
  • If-Modified-Since
  • If-Unmodified-Since
  • If-None-Match
  • If-Match
  • Range
  • If-Range
  • X-Ms-Via
  • X-Ms-Force-Refresh
  • X-MSEdge-Ref
  • Warning
  • Forwarded
  • Via
  • X-Forwarded-For
  • X-Forwarded-Proto
  • X-Forwarded-Host
  • X-Azure-RequestChain
  • X-Azure-FDID
  • X-Azure-RequestChainv2
  • X-Azure-Ref

Modifier l’en-tête de réponse

Utilisez l’action modifier l’en-tête de réponse pour modifier les en-têtes présents dans les réponses avant qu’ils ne soient retournés à vos clients.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Ajouter : L’en-tête spécifié est ajouté à la réponse avec la valeur spécifiée. Si l’en-tête est déjà présent, la valeur est ajoutée à la valeur d’en-tête existante à l’aide de la concaténation de chaînes. Aucun délimiteur n’est ajouté. Dans les modèles ARM, utilisez headerAction de Append.
  • Remplacer : L’en-tête spécifié est ajouté à la réponse avec la valeur spécifiée. Si l’en-tête est déjà présent, la valeur spécifiée remplace la valeur existante. Dans les modèles ARM, utilisez headerAction de Overwrite.
  • Supprimer : Si l’en-tête spécifié dans la règle est présent, l’en-tête est supprimé de la réponse. Dans les modèles ARM, utilisez headerAction de Delete.
Nom de l’en-tête Nom de l'en-tête à modifier.
Valeur de l’en-tête Valeur à ajouter ou à remplacer.

Exemple

Dans cet exemple, nous supprimons l’en-tête avec le nom X-Powered-By des réponses avant qu’elles ne soient retournées au client.

Capture d’écran du portail montrant l’action modifier l’en-tête de réponse.

Remarque

Certains en-têtes réservés Azure Front Door ne peuvent pas être modifiés à l’aide d’actions du moteur de règles, y compris les actions pour modifier les en-têtes de requête et les en-têtes de réponse. La liste suivante d’en-têtes réservés ne peut pas être modifiée, ainsi que les en-têtes précédés de x-ec et de x-fd.

  • Accept-Ranges
  • Host
  • Connection
  • Content-Length
  • Transfer-Encoding
  • TE
  • Last-Modified
  • Keep-Alive
  • Expect
  • Upgrade
  • If-Modified-Since
  • If-Unmodified-Since
  • If-None-Match
  • If-Match
  • Range
  • If-Range
  • X-Ms-Via
  • X-Ms-Force-Refresh
  • X-MSEdge-Ref
  • Warning
  • Forwarded
  • Via
  • X-Forwarded-For
  • X-Forwarded-Proto
  • X-Forwarded-Host
  • X-Azure-RequestChain
  • X-Azure-FDID
  • X-Azure-RequestChainv2
  • X-Azure-Ref

Redirection d’URL

Utilisez l’action de redirection d’URL pour rediriger les clients vers une nouvelle URL. Les clients reçoivent une réponse de redirection de Front Door. Azure Front Door prend en charge la capture dynamique du chemin d’URL avec la variable de serveur {url_path:seg#}, et convertit le chemin d’URL en minuscules ou en majuscules avec {url_path.tolower} ou {url_path.toupper}. Pour plus d’informations, consultez Variables du serveur.

Propriétés

Propriété Valeurs prises en charge
Type de redirection Type de réponse à renvoyer au demandeur.
  • Dans le Portail Azure : Trouvé (302), Déplacé (301), Redirection temporaire (307), Redirection permanente (308).
  • Dans les modèles ARM : Found, Moved, TemporaryRedirect, PermanentRedirect
Protocole de redirection
  • Dans le Portail Azure : Match Request, HTTP, HTTPS
  • Dans les modèles ARM : MatchRequest, Http, Https
Hôte de destination Nom d’hôte vers lequel vous souhaitez rediriger la requête. Laissez vide pour conserver l’hôte entrant.
Chemin de destination Chemin d’accès à utiliser dans la redirection. Incluez l’interligne/. Laissez vide pour conserver le chemin d’accès entrant.
Chaîne de requête Chaîne de requête utilisée dans la redirection. N’incluez pas l’interligne ?. Laissez vide pour conserver la chaîne de requête entrante.
Fragment de destination Fragment à utiliser dans la redirection. Laissez vide pour conserver le fragment entrant.

Exemple

Dans cet exemple, nous redirigeons la requête vers https://contoso.com/exampleredirection?clientIp={client_ip}, tout en conservant le fragment. Une redirection HTTP temporaire (307) est utilisée. L’adresse IP du client est utilisée à la place du jeton {client_ip} dans l’URL à l’aide de la variable serveur client_ip.

Capture d’écran du portail montrant l’action de redirection d’URL.

Réécrire URL

Utilisez l’action réécriture d’URL pour réécrire le chemin d’accès d’une requête en cours d’acheminement vers votre origine. Azure Front Door prend en charge la capture dynamique du chemin d’URL avec la variable de serveur {url_path:seg#}, et convertit le chemin d’URL en minuscules ou en majuscules avec {url_path.tolower} ou {url_path.toupper}. Pour plus d’informations, consultez Variables du serveur.

Propriétés

Propriété Valeurs prises en charge
Modèle source Définissez le modèle source dans le chemin d’accès de l’URL à remplacer. Actuellement, le modèle source utilise une correspondance basée sur un préfixe. Pour correspondre à tous les chemins d’URL, utilisez une barre oblique (/) comme valeur de modèle source.
Destination Définissez le chemin d’accès de destination à utiliser lors de la réécriture. Le chemin d’accès de destination remplace le modèle source.
Conserver le chemin d’accès sans correspondance S’il est défini sur Oui, le chemin d’accès restant après le modèle source est ajouté au nouveau chemin d’accès de destination.

Exemple

Dans cet exemple, nous réécrivons toutes les demandes dans le chemin d’accès /redirection et ne conservons pas le reste du chemin d’accès.

Capture d’écran du portail montrant l’action de réécriture d’URL.

Important

Azure Front Door (classique) va être mis hors service le 31 mars 2027. Pour éviter toute interruption de service, il est important de migrer vos profils Azure Front Door (classique) vers le niveau Azure Front Door Standard ou Premium au plus en mars 2027. Pour plus d’informations, consultez Mise hors service d’Azure Front Door (classique).

Dans Azure Front Door (classique), un moteur de règles peut comprendre jusqu’à 25 règles contenant des conditions de correspondance et des actions associées. Cet article fournit une description détaillée de chaque action que vous pouvez définir dans une règle.

Une action définit le comportement qui est appliqué au type de requête qui correspond à la condition ou à l’ensemble de conditions de correspondance. Dans la configuration du moteur de règles, une règle peut avoir jusqu’à 10 conditions de correspondance et 5 actions. Une règle ne peut comporter qu’une seule action Remplacer la configuration de routage.

Les actions suivantes peuvent être utilisées dans la configuration du moteur de règles.

Modifier l’en-tête de requête

Utilisez ces actions pour modifier les en-têtes présents dans les requêtes envoyées à votre serveur principal.

Champs obligatoires

Action Nom de l’en-tête HTTP Valeur
Ajouter Quand cette option est sélectionnée et que la règle est en correspondance, l’en-tête spécifié dans Nom de l’en-tête est ajouté à la requête avec la valeur spécifiée. Si l’en-tête est déjà présent, la valeur sera ajoutée à la valeur existante. String
Remplacer Quand cette option est sélectionnée et que la règle est en correspondance, l’en-tête spécifié dans Nom de l’en-tête est ajouté à la requête avec la valeur spécifiée. Si l’en-tête est déjà présent, la valeur spécifiée remplace la valeur existante. String
DELETE Quand cette option est sélectionnée avec des règles en correspondance et que l’en-tête spécifié dans la règle est présent, l’en-tête est supprimé de la requête. String

Modifier l’en-tête de réponse

Utilisez ces actions pour modifier les en-têtes présents dans les réponses renvoyées à vos clients.

Champs obligatoires

Action Nom de l’en-tête HTTP Valeur
Ajouter Quand cette option est sélectionnée et que la règle est en correspondance, l’en-tête spécifié dans Nom de l’en-tête est ajouté à la réponse en utilisant la Valeur spécifiée. Si l’en-tête est déjà présent, Valeur est ajoutée à la valeur existante. String
Remplacer Lorsque cette option est sélectionnée et que la règle correspond, l’en-tête spécifié dans Nom de l’en-tête est ajouté à la réponse à l’aide de la Valeur spécifiée. Si l’en-tête est déjà présent, Valeur remplace la valeur existante. String
DELETE Lorsque cette option est sélectionnée avec les règles correspondantes et que l’en-tête spécifié dans la règle est présent, l’en-tête est supprimé de la réponse. String

Remplacements de configuration de route

Type de route : Rediriger

Utilisez ces actions pour rediriger les clients vers une nouvelle URL.

Champs obligatoires

Champ Description
Type de redirection La redirection est un moyen d’envoyer les utilisateurs/clients d’une URL à une autre. Un type de redirection définit le code d’état utilisé par les clients pour comprendre l’objectif de la redirection.

Vous pouvez sélectionner les codes d’état de redirection suivants : Trouvé (302), Déplacé (301), Redirection temporaire (307) et Redirection permanente (308).
Protocole de redirection Conservez le protocole conformément à la requête entrante ou définissez un nouveau protocole pour la redirection. Par exemple, sélectionnez « HTTPS » pour une redirection HTTP vers HTTPS.
Hôte de destination Définissez cette valeur pour modifier le nom d’hôte dans l’URL de la redirection ou pour conserver le nom d’hôte de la requête entrante.
Chemin de destination Vous pouvez conserver le chemin tel qu’il figure dans la requête entrante ou le mettre à jour dans l’URL pour la redirection.
Chaîne de requête Définissez cette valeur pour remplacer toutes les chaînes de requête existantes de l’URL de la requête entrante ou conservez le jeu de chaînes de requête d’origine.
Fragment de destination Le fragment de destination est la partie de l’URL qui figure après « # », normalement utilisée par les navigateurs pour accéder à une section spécifique d’une page. Définissez cette valeur pour ajouter un fragment à l’URL de redirection.

Type de route : Transférer

Utilisez ces actions pour rediriger les clients vers une nouvelle URL. Ces actions contiennent aussi des sous-actions pour les réécritures et mises en cache d’URL.

Champ Description
Pool principal Sélectionnez le pool principal à remplacer et traitez les requêtes. Vous verrez tous vos pools principaux préconfigurés qui sont actuellement dans votre profil Front Door.
Protocole de transfert Protocole à utiliser pour transférer la requête au serveur principal ou reproduire le protocole de la requête entrante.
Réécrire URL Chemin à utiliser pour construire la demande de réécriture d’URL à transférer au serveur principal.
Mise en cache Activez la mise en cache pour cette règle de routage. Lorsque cette option est activée, Azure Front Door met en cache votre contenu statique.

Réécrire URL

Utilisez ce paramètre pour configurer un chemin de transfert personnalisé facultatif à utiliser lors de la construction d’une requête à transférer au back-end.

Champ Description
Chemin de transfert personnalisé Définissez un chemin vers lequel les requêtes sont redirigées.

Mise en cache

Utilisez ces paramètres pour contrôler la façon dont les fichiers sont mis en cache pour les demandes qui contiennent des chaînes de requête. Indique si votre contenu doit être mis en cache en fonction de tous les paramètres ou des paramètres sélectionnés. Vous pouvez utiliser ces paramètres pour remplacer la valeur de la durée de vie (TTL) pour contrôler la durée pendant laquelle le contenu reste dans le cache. Pour forcer la mise en cache comme action, définissez le champ de mise en cache sur « Activé ». Quand vous forcez la mise en cache, les options suivantes apparaissent :

Comportement du cache Description
Ignorer la chaîne de requête Une fois que la ressource est mise en cache, toutes les demandes qui suivent ignorent les chaînes de requête jusqu’à l’expiration de la ressource mise en cache.
Utiliser la chaîne de requête Chaque demande contenant une URL unique, y compris la chaîne de requête, est traitée comme une ressource unique avec son propre cache.
Ignorer les chaînes de requête spécifiées Les chaînes de requête d’URL de demande listées dans le paramètre « Paramètres de requête » sont ignorées pour la mise en cache.
Inclure les chaînes de requête spécifiées Les chaînes de requête d’URL de demande listées dans le paramètre « Paramètres de requête » sont utilisées pour la mise en cache.
Autres champs Description
Compression dynamique Front Door peut compresser dynamiquement le contenu en périphérie, ce qui a pour effet de réduire la taille et le délai de la réponse.
Paramètres de requête Une liste de paramètres autorisés ou non, séparés par des virgules, à utiliser comme base pour la mise en cache.
Utiliser la durée de mise en cache par défaut Défini pour utiliser la durée de mise en cache par défaut d’Azure Front Door ou définissez une durée de mise en cache qui ignore la directive de réponse d’origine.

Étapes suivantes