Documentation de référence sur le moteur de règles Azure CDN de Verizon Premium

Cet article fournit les descriptions détaillées des conditions de correspondance et fonctionnalités disponibles pour le moteur de règles Azure Content Delivery Network (CDN).

Le moteur de règles est conçu pour être l’autorité finale sur la façon dont certains types de demandes sont traités par le CDN.

Utilisations courantes :

  • Remplacer ou définir une stratégie de cache personnalisée.
  • Sécuriser ou refuser les demandes de contenu sensible.
  • Rediriger les demandes.
  • Stocker les données de journal personnalisé.

Concepts clés

Les concepts clés de la configuration du moteur de règles sont décrits ci-dessous.

Brouillon

Le brouillon d’une stratégie est constitué d’une ou de plusieurs règles destinées à identifier les demandes et l’ensemble des actions qui leur seront appliquées. Il s’agit d’un travail en cours qui permet des mises à jour de configuration fréquentes sans affecter le trafic du site. Une fois prêt à être finalisé, le brouillon doit être converti en une stratégie en lecture seule.

Règle

Une règle identifie un ou plusieurs types de demandes et l’ensemble des actions qui leur seront appliquées.

Elle comprend :

  • Un ensemble d’expressions conditionnelles qui définissent la logique d’identification des demandes.
  • Un ensemble de conditions de correspondance qui définissent les critères d’identification des demandes.
  • Un ensemble de fonctionnalités qui définissent la façon dont le réseau CDN gère les requêtes ci-dessus. Ces éléments sont mis en surbrillance dans l’illustration suivante.

Screenshot with labels shows the Conditional Expression, the Match, and the Features of a rule.

Stratégie

Une stratégie, qui se compose d’un ensemble de règles en lecture seule, permet d’effectuer les opérations suivantes :

  • Créer, stocker et gérer plusieurs variantes des règles.
  • Restaurer une version déployée auparavant.
  • Préparer à l’avance des règles propres aux événements (par exemple, une règle qui redirige le trafic à la suite d’une opération de maintenance provenant du client).

Notes

Bien que seule une stratégie soit autorisée par environnement, les stratégies peuvent être déployées en fonction des besoins.

Demande de déploiement

Une demande de déploiement représente une procédure simple et rationalisée par le biais de laquelle une stratégie peut être appliquée rapidement à l’environnement intermédiaire ou de production. Un historique des demandes de déploiement est fourni pour faciliter le suivi des modifications appliquées à ces environnements.

Notes

Seules les demandes non approuvées par notre système automatisé de validation et de détection des erreurs réclament une révision et une approbation manuelles.

Précédence des règles

Les règles contenues dans une stratégie sont généralement traitées dans l’ordre dans lequel elles apparaissent (soit de haut en bas). Si la demande correspond à des règles en conflit, la dernière règle à traiter est prioritaire.

Workflow de déploiement de stratégies

Le workflow par le biais duquel une stratégie peut être appliquée à l’environnement de production ou intermédiaire est illustré ci-dessous.

Policy deployment workflow

Étape Description
Créer un brouillon Un brouillon est constitué d’un ensemble de règles qui définissent la façon dont les demandes de contenu doivent être gérées par le réseau CDN.
Verrouiller le brouillon Une fois finalisé, le brouillon doit être verrouillé et converti en une stratégie en lecture seule.
Envoyer une demande de déploiement
Une demande de déploiement permet d’appliquer une stratégie à un trafic de test ou de production.

Envoyez une demande de déploiement à l’environnement intermédiaire ou de production.
Vérifier la demande de déploiement
La demande de déploiement subit une validation et une détection d’erreurs automatiques.

Si la majorité d’entre elles sont approuvées automatiquement, une révision manuelle reste nécessaire pour les stratégies complexes.
Déploiement de la stratégie (Intermédiaire)
Après approbation de la demande de déploiement dans l’environnement intermédiaire, la stratégie est appliquée à l’environnement intermédiaire. Cet environnement permet de tester une stratégie sur du trafic de site fictif.

Une fois la stratégie prête à être appliquée au trafic de site actif, une nouvelle demande de déploiement dans l’environnement de production doit être envoyée.
Déploiement de la stratégie (Production) Après approbation de la demande de déploiement dans l’environnement de production, une stratégie est appliquée à l’environnement de production. Cet environnement permet à la stratégie de servir d’autorité finale pour déterminer comment le réseau CDN doit gérer le trafic actif.

Syntaxe

La façon dont les caractères spéciaux sont traités varie en fonction de la façon dont une condition de correspondance ou une fonctionnalité gère les valeurs de texte. Une condition de correspondance ou une fonctionnalité peut interpréter le texte de l’une des manières suivantes :

Valeurs littérales

Le texte interprété comme une valeur littérale traite tous les caractères spéciaux, à l’exception du symbole %, comme une partie de la valeur qui doit être mise en correspondance. En d’autres termes, une condition de correspondance littérale définie sur \'*'\ n’est remplie que si cette valeur exacte (c’est-à-dire \'*'\) est trouvée.

Un symbole de pourcentage est utilisé pour indiquer l’encodage des URL (par exemple, %20).

Valeurs de caractère générique

Le texte interprété comme un caractère générique attribue une signification supplémentaire aux caractères spéciaux. Le tableau ci-dessous décrit comment le jeu de caractères suivant est interprété :

Caractère Description
\ Une barre oblique inverse est utilisée pour échapper les caractères spécifiés dans ce tableau. Une barre oblique inverse doit être spécifiée juste avant le caractère spécial à échapper.
Par exemple, la syntaxe suivante échappe un astérisque : \*
% Un symbole de pourcentage est utilisé pour indiquer l’encodage des URL (par exemple, %20).
* Un astérisque est un caractère générique représentant un ou plusieurs caractères.
Espace Un caractère d’espace indique qu’une condition de correspondance peut être remplie par les valeurs ou les modèles spécifiés.
'valeur' Un guillemet simple n’a pas de signification particulière. Toutefois, un jeu de guillemets simples est utilisé pour indiquer qu’une valeur doit être traitée comme une valeur littérale. Il peut être utilisé selon les manières suivantes :

- Il permet de remplir une condition de correspondance lorsque la valeur spécifiée correspond à une partie de la valeur de comparaison. Par exemple, 'ma' peut correspondre à l’une des chaînes suivantes :

/business/marathon/asset.htm
map.gif
/business/template.map

- Il permet de spécifier un caractère spécial en tant que caractère littéral. Par exemple, vous pouvez spécifier un caractère d’espace littéral en plaçant un caractère d’espace dans un jeu de guillemets simples (c’est-à-dire ' ' ou 'sample value').
- Il permet de spécifier une valeur vide. Spécifiez une valeur vide en entrant un jeu de guillemets simples (c’est-à-dire '').

Important :
- Si la valeur spécifiée ne contient pas de caractère générique, elle est automatiquement considérée comme une valeur littérale, ce qui signifie qu’il n’est pas nécessaire de spécifier un jeu de guillemets simples.
- Si une barre oblique inverse n’échappe pas à un autre caractère dans ce tableau, elle est ignorée si un jeu de guillemets simples est entré.
- Une autre manière de spécifier un caractère spécial en tant que caractère littéral consiste à l’échapper à l’aide d’une barre oblique inverse (c’est-à-dire \).

Expressions régulières

Les expressions régulières définissent un modèle qui est recherché dans une valeur de texte. La notation d’une expression régulière définit des significations spécifiques pour une variété de symboles. Le tableau ci-dessous indique comment les caractères spéciaux sont traités par les conditions de correspondance et les fonctionnalités prenant en charge les expressions régulières.

Caractère spécial Description
\ Une barre oblique inverse échappe le caractère qui la suit, ce caractère est alors traité comme une valeur littérale plutôt que d’utiliser sa signification d’expression régulière. Par exemple, la syntaxe suivante échappe un astérisque : \*
% La signification d’un symbole de pourcentage dépend de son utilisation.

%{HTTPVariable}: cette syntaxe identifie une variable HTTP.
%{HTTPVariable%Pattern}: cette syntaxe utilise un symbole de pourcentage pour identifier une variable HTTP et comme délimiteur.
\%: l’échappement d’un symbole de pourcentage permet de l’utiliser comme une valeur littérale ou d’indiquer l’encodage des URL (par exemple, \%20).
* Un astérisque permet de mettre en correspondance une ou plusieurs fois le caractère qui le précède.
Espace Un caractère d’espace est généralement traité comme un caractère littéral.
'valeur' Les guillemets simples sont traités comme des caractères littéraux. Un jeu de guillemets simples n’a pas de signification particulière.

Les conditions et fonctionnalités de correspondance qui prennent en charge les expressions régulières acceptent les modèles définis par des expressions régulières compatibles Perl (PCRE).

Étapes suivantes