Qu’est-ce qu’un ensemble de règles dans Azure Front Door ?

Un ensemble de règles est un moteur de règles personnalisé qui regroupe une combinaison de règles dans un ensemble unique. Vous pouvez associer un ensemble de règles à plusieurs itinéraires. Un ensemble de règles vous permet de personnaliser la façon dont les requêtes sont traitées et gérées à la périphérie Azure Front Door.

Scénarios courants pris en charge

  • Implémentation d’en-têtes de sécurité pour prévenir les vulnérabilités des navigateurs comme HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy, X-Frame-Options ainsi que des en-têtes Access-Control-Allow-Origin pour les scénarios de partage des ressources cross-origin (CORS). Les attributs basés sur la sécurité peuvent également être définis avec des cookies.

  • Routage des requêtes vers les versions mobiles ou pour appareil de bureau de votre application en fonction du type d’appareil client.

  • Utilisation de fonctionnalités de redirection pour retourner les redirections 301, 302, 307 et 308 au client afin de le diriger vers de nouveaux noms d’hôte, de nouveaux chemins, de nouvelles chaînes de requête ou de nouveaux protocoles.

  • Modification dynamique de la configuration de la mise en cache de votre route en fonction des requêtes entrantes.

  • Réécriture du chemin de l’URL de la requête et transfert de la requête à l’origine appropriée de votre groupe d’origines configurées.

  • Ajout, modification ou suppression de l’en-tête de la requête/réponse pour masquer des informations sensibles ou pour capturer des informations importantes dans les en-têtes.

  • Prise en charge des variables de serveur pour modifier dynamiquement l’en-tête de demande, les en-têtes de réponse ou les chemins de réécriture d’URL/chaînes de requête. Par exemple, lorsqu’une nouvelle page se charge ou lorsqu’un formulaire est publié. Actuellement, la variable de serveur est prise en charge uniquement sur les actions de l’ensemble de règles.

Architecture

Les ensembles de règles gèrent les requêtes à la périphérie Front Door. Quand une requête arrive sur votre point de terminaison Front Door, le WAF est exécuté en premier, suivi des paramètres configurés dans l’itinéraire. Ces paramètres incluent l’ensemble de règles associé à l’itinéraire. Les ensembles de règles sont traités dans l’ordre dans lequel ils apparaissent sous la configuration de routage. Les règles d’un ensemble de règles sont également traitées dans l’ordre dans lequel elles apparaissent. Pour que toutes les actions de chaque règle soient exécutées, toutes les conditions de correspondance au sein d’une règle doivent être satisfaites. Si une requête ne correspond à aucune des conditions de la configuration de votre ensemble de règles, seuls les paramètres de l’itinéraire par défaut s’appliquent.

Si l’option Arrêter l’évaluation des règles restantes est sélectionnée, les ensembles de règles restants associés à l’itinéraire ne sont pas exécutés.

Exemple

Dans le diagramme suivant, les stratégies du WAF sont exécutées en premier. Ensuite, la configuration de l’ensemble de règles ajoute un en-tête de réponse. L’en-tête modifie la durée maximale du contrôle de cache si la condition de correspondance est confirmée.

Diagramme montrant comment un ensemble de règles peut modifier l’en-tête de réponse d’une requête dans la périphérie Front Door.

Terminologie

Avec un ensemble de règles Front Door, vous pouvez créer une combinaison de configurations, chacune composée d’un ensemble de règles. Cette section présente quelques termes clés que vous rencontrerez quand vous configurerez votre ensemble de règles.

  • Ensemble de règles : ensemble de règles associé à un ou plusieurs itinéraires.

  • Règle d’ensemble de règles : règle composée de jusqu’à 10 conditions de correspondance et 5 actions. Les règles n’existent que localement dans un ensemble de règles. Elles ne peuvent pas être exportées pour être utilisées dans d’autres ensembles de règles. Vous pouvez créer la même règle dans différents ensembles de règles.

  • Condition de correspondance : il existe de nombreuses conditions de correspondance que vous pouvez configurer pour analyser une requête entrante. Une règle peut contenir jusqu’à 10 conditions de correspondance. Les conditions de correspondance sont évaluées avec un opérateur AND. L’expression régulière est prise en charge dans les conditions. Vous trouverez la liste complète des conditions de correspondance dans Conditions de correspondance d’ensemble de règles.

  • Action : une action détermine la façon dont Front Door gère les requêtes entrantes en fonction des conditions de correspondance. Vous pouvez modifier les comportements de mise en cache, modifier les en-têtes de demande, les en-têtes de réponse, définir une réécriture d’URL et une redirection d’URL. Les variables serveur sont prises en charge dans les actions. Une règle peut contenir jusqu’à cinq actions. Pour obtenir la liste complète des actions, consultez Actions d’ensemble de règles.

Prise en charge de modèle ARM

Vous pouvez configurer des ensembles de règles à l’aide de modèles Azure Resource Manager. Pour obtenir un exemple, consultez Front Door Standard/Premium avec ensemble de règles. Vous pouvez personnaliser le comportement à l’aide des extraits de code JSON ou Bicep inclus dans les exemples que la documentation fournit pour les conditions de correspondance et les actions.

Limites

Pour plus d’informations sur les limites de quota, reportez-vous à Limites, quotas et contraintes Front Door.

Étapes suivantes

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).

La configuration du moteur de règles vous permet de personnaliser la façon dont les requêtes HTTP sont gérées à la périphérie Front Door et fournit un contrôle sur le comportement de votre application web. Le moteur de règles pour Azure Front Door (classique) comprend plusieurs fonctionnalités clés, notamment :

  • Application du protocole HTTPS pour veiller à ce que tous vos utilisateurs finaux interagissent avec votre contenu via une connexion sécurisée.
  • Implémentation d’en-têtes de sécurité pour prévenir les vulnérabilités des navigateurs, comme HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy, X-Frame-Options ainsi que des en-têtes Access-Control-Allow-Origin pour les scénarios de partage des ressources cross-origin (CORS). Les attributs basés sur la sécurité peuvent également être définis avec des cookies.
  • Routage des requêtes vers les versions mobiles ou pour poste de travail de votre application en fonction des modèles inclus dans le contenu des en-têtes de requête, cookies ou chaînes de requête.
  • Utilisation de fonctionnalités de redirection pour retourner les redirections 301, 302, 307 et 308 au client afin de diriger vers de nouveaux noms d’hôte, chemins ou protocoles.
  • Modification dynamique de la configuration de la mise en cache de votre route en fonction des requêtes entrantes.
  • Réécriture du chemin de l’URL de la requête et transfert de la requête au back-end approprié dans votre pool back-end configuré.

Architecture

Le moteur de règles gère les requêtes à la périphérie. Quand une requête entre dans votre point de terminaison Azure Front Door (classique), le WAF est traité en premier, suivi de la configuration du moteur de règles associée à votre domaine frontal. Si une configuration du moteur de règles est traitée, cela signifie qu’une condition de correspondance a été remplie. Pour que toutes les actions de chaque règle soient traitées, toutes les conditions de correspondance au sein d’une règle doivent être satisfaites. Si une requête ne correspond à aucune des conditions de la configuration de votre moteur de règles, la règle de routage par défaut est traitée.

Par exemple, dans le diagramme suivant, un moteur de règles est configuré pour ajouter un en-tête de réponse. L’en-tête modifie la durée maximale du contrôle de cache si le fichier de requête a une extension .jpg.

Diagramme montrant la modification de la durée maximale du cache par le moteur de règles dans l’en-tête de réponse si le fichier demandé a une extension .jpg.

Dans ce deuxième exemple, vous voyez que le moteur de règles est configuré pour rediriger les utilisateurs vers une version mobile du site web si l’appareil demandeur est de type Mobile.

Diagramme montrant le moteur de règles qui redirige les utilisateurs vers la version mobile d’un site web si l’appareil demandeur est de type mobile.

Dans ces deux exemples, si aucune des conditions de correspondance n’est remplie, la règle d’acheminement spécifiée est celle qui est traitée.

Terminologie

Avec Azure Front Door (classique), vous pouvez créer de nombreuses combinaisons de configurations de moteur de règles, chacune étant composée d’un ensemble de règles. Voici quelques termes clé que vous rencontrerez lors de la configuration de votre moteur de règles.

  • Configuration du moteur de règles : ensemble de règles appliquées à un seul itinéraire. Chaque configuration est limitée à 25 règles. Vous pouvez créer jusqu’à 10 configurations.
  • Règle du moteur de règles : chaque règle peut avoir jusqu’à 10 conditions de correspondance et 5 actions.
  • Condition de correspondance : il existe de nombreuses conditions de correspondance qui peuvent être utilisées pour analyser vos demandes entrantes. Une règle peut contenir jusqu’à 10 conditions de correspondance. Les conditions de correspondance sont évaluées avec un opérateur AND. Pour obtenir la liste complète des conditions de correspondance, consultez Conditions de correspondance des règles.
  • Action : Les actions dictent ce qui arrive à vos requêtes entrantes : actions d’en-tête de requête/réponse, transfert, redirection et réécriture sont toutes disponibles aujourd’hui. Une règle peut contenir jusqu’à 5 actions, mais elle ne peut contenir qu’un seul remplacement de configuration de route. Pour obtenir la liste complète des actions, consultez Actions de règles.

Étapes suivantes