Documentation de référence sur le moteur de règles Azure CDN de Verizon PremiumAzure CDN from Verizon Premium rules engine reference

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).This article lists detailed descriptions of the available match conditions and features for the Azure Content Delivery Network (CDN) rules engine.

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.The rules engine is designed to be the final authority on how specific types of requests are processed by the CDN.

Utilisations courantes :Common uses:

  • Remplacer ou définir une stratégie de cache personnalisée.Override or define a custom cache policy.
  • Sécuriser ou refuser les demandes de contenu sensible.Secure or deny requests for sensitive content.
  • Rediriger les demandes.Redirect requests.
  • Stocker les données de journal personnalisé.Store custom log data.

Concepts clésKey concepts

Les concepts clés de la configuration du moteur de règles sont décrits ci-dessous.Key concepts for setting up Rules Engine are described below.

BrouillonDraft

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.A draft of a policy consists of one or more rules meant to identify requests and the set of actions that will be applied to them. Il s’agit d’un travail en cours qui permet des mises à jour de configuration fréquentes sans affecter le trafic du site.A draft is a work in progress that allows frequent configuration updates without impacting site traffic. Une fois prêt à être finalisé, le brouillon doit être converti en une stratégie en lecture seule.Once a draft is ready to be finalized, it should be converted into a read-only policy.

RègleRule

Une règle identifie un ou plusieurs types de demandes et l’ensemble des actions qui leur seront appliquées.A rule identifies one or more types of requests and the set of actions that will be applied to them.

Elle comprend :It consists of:

  • Un ensemble d’expressions conditionnelles qui définissent la logique d’identification des demandes.A set of conditional expressions that define the logic through which requests are identified.
  • Un ensemble de conditions de correspondance qui définissent les critères d’identification des demandes.A set of match conditions that define the criteria used to identify requests.
  • Un ensemble de fonctionnalités qui définissent la façon dont le réseau CDN gère les requêtes ci-dessus.A set of features that define how the CDN will handle the above requests. Ces éléments sont mis en surbrillance dans l’illustration suivante.These elements are identified in the following illustration.

Capture d’écran avec des étiquettes montrant l’expression conditionnelle, la correspondance et les fonctionnalités d’une règle.

StratégiePolicy

Une stratégie, qui se compose d’un ensemble de règles en lecture seule, permet d’effectuer les opérations suivantes :A policy, which consists of a set of read-only rules, provides the means to:

  • Créer, stocker et gérer plusieurs variantes des règles.Create, store, and manage multiple variants of your rules.
  • Restaurer une version déployée auparavant.Roll back to a previously deployed version.
  • 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).Prepare event-specific rules in advance (e.g., a rule that redirects traffic as a result of a customer origin maintenance.)

Notes

Bien que seule une stratégie soit autorisée par environnement, les stratégies peuvent être déployées en fonction des besoins.Although only a single policy per environment is allowed, policies may be deployed as needed.

Demande de déploiementDeploy request

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.A deploy request provides a simple and streamlined procedure through which a policy may be quickly applied to the Staging or Production environment. Un historique des demandes de déploiement est fourni pour faciliter le suivi des modifications appliquées à ces environnements.A history of deploy requests is provided to facilitate the tracking of changes applied to those environments.

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.Only requests that do not pass our automated validation and error detection system will require manual review and approval.

Précédence des règlesRule precedence

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).The rules contained in a Policy are typically processed in the order in which they are listed (i.e., top to bottom). Si la demande correspond à des règles en conflit, la dernière règle à traiter est prioritaire.If the request matches conflicting rules, then the last rule to be processed will take precedence.

Workflow de déploiement de stratégiesPolicy deployment workflow

Le workflow par le biais duquel une stratégie peut être appliquée à l’environnement de production ou intermédiaire est illustré ci-dessous.The workflow through which a policy may be applied to either the Production or Staging environment is illustrated below.

Workflow de déploiement de stratégies

ÉtapeStep DescriptionDescription
Créer un brouillonCreate Draft 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.A draft consists of a set of rules that define how requests for your content should be handled by the CDN.
Verrouiller le brouillonLock Draft Une fois finalisé, le brouillon doit être verrouillé et converti en une stratégie en lecture seule.Once a draft has been finalized, it should be locked and converted into a read-only policy.
Envoyer une demande de déploiementSubmit Deploy Request
Une demande de déploiement permet d’appliquer une stratégie à un trafic de test ou de production.A deploy request allows a policy to be applied to either test or production traffic.

Envoyez une demande de déploiement à l’environnement intermédiaire ou de production.Submit a deploy request to either the Staging or Production environment.
Vérifier la demande de déploiementDeploy Request Review
La demande de déploiement subit une validation et une détection d’erreurs automatiques.A deploy request undergoes automated validation and error detection.

Si la majorité d’entre elles sont approuvées automatiquement, une révision manuelle reste nécessaire pour les stratégies complexes.Although the majority of deploy requests are automatically approved, manual review is required for more complex policies.
Déploiement de la stratégie (Intermédiaire)Policy Deployment (Staging)
Après approbation de la demande de déploiement dans l’environnement intermédiaire, la stratégie est appliquée à l’environnement intermédiaire.Upon approval of a deploy request to the Staging environment, a policy will be applied to the Staging environment. Cet environnement permet de tester une stratégie sur du trafic de site fictif.This environment allows a policy to be tested against mock site traffic.

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.Once the policy is ready to be applied to live site traffic, a new deploy request for the Production environment should be submitted.
Déploiement de la stratégie (Production)Policy Deployment (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.Upon approval of a deploy request to the Production environment, a policy will be applied to the Production environment. 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.This environment allows a policy to act as the final authority for determining how the CDN should handle live traffic.

SyntaxeSyntax

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.The manner in which special characters are treated varies according to how a match condition or feature handles text values. Une condition de correspondance ou une fonctionnalité peut interpréter le texte de l’une des manières suivantes :A match condition or feature may interpret text in one of the following ways:

Valeurs littéralesLiteral values

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.Text that is interpreted as a literal value treats all special characters, with the exception of the % symbol, as a part of the value that must be matched. 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.In other words, a literal match condition set to \'*'\ is only satisfied when that exact value (that is, \'*'\) is found.

Un symbole de pourcentage est utilisé pour indiquer l’encodage des URL (par exemple, %20).A percentage symbol is used to indicate URL encoding (for example, %20).

Valeurs de caractère génériqueWildcard values

Le texte interprété comme un caractère générique attribue une signification supplémentaire aux caractères spéciaux.Text that is interpreted as a wildcard value assigns additional meaning to special characters. Le tableau ci-dessous décrit comment le jeu de caractères suivant est interprété :The following table describes how the following set of characters is interpreted:

CaractèreCharacter DescriptionDescription
\ Une barre oblique inverse est utilisée pour échapper les caractères spécifiés dans ce tableau.A backslash is used to escape any of the characters specified in this table. Une barre oblique inverse doit être spécifiée juste avant le caractère spécial à échapper.A backslash must be specified directly before the special character that should be escaped.
Par exemple, la syntaxe suivante échappe un astérisque : \*For example, the following syntax escapes an asterisk: \*
% Un symbole de pourcentage est utilisé pour indiquer l’encodage des URL (par exemple, %20).A percentage symbol is used to indicate URL encoding (for example, %20).
* Un astérisque est un caractère générique représentant un ou plusieurs caractères.An asterisk is a wildcard that represents one or more characters.
EspaceSpace Un caractère d’espace indique qu’une condition de correspondance peut être remplie par les valeurs ou les modèles spécifiés.A space character indicates that a match condition may be satisfied by either of the specified values or patterns.
'valeur''value' Un guillemet simple n’a pas de signification particulière.A single quote does not have special meaning. Toutefois, un jeu de guillemets simples est utilisé pour indiquer qu’une valeur doit être traitée comme une valeur littérale.However, a set of single quotes is used to indicate that a value should be treated as a literal value. Il peut être utilisé selon les manières suivantes :It can be used in the following ways:

- Il permet de remplir une condition de correspondance lorsque la valeur spécifiée correspond à une partie de la valeur de comparaison.- It allows a match condition to be satisfied whenever the specified value matches any portion of the comparison value. Par exemple, 'ma' peut correspondre à l’une des chaînes suivantes :For example, 'ma' would match any of the following strings:

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

- Il permet de spécifier un caractère spécial en tant que caractère littéral.- It allows a special character to be specified as a literal character. 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').For example, you may specify a literal space character by enclosing a space character within a set of single quotes (that is, ' ' or 'sample value').
- Il permet de spécifier une valeur vide.- It allows a blank value to be specified. Spécifiez une valeur vide en entrant un jeu de guillemets simples (c’est-à-dire '').Specify a blank value by specifying a set of single quotes (that is, '').

Important :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.- If the specified value does not contain a wildcard, then it is automatically considered a literal value, which means that it is not necessary to specify a set of single quotes.
- 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é.- If a backslash does not escape another character in this table, it is ignored when it is specified within a set of single quotes.
- 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 \).- Another way to specify a special character as a literal character is to escape it using a backslash (that is, \).

Expressions régulièresRegular expressions

Les expressions régulières définissent un modèle qui est recherché dans une valeur de texte.Regular expressions define a pattern that is searched for within a text value. La notation d’une expression régulière définit des significations spécifiques pour une variété de symboles.Regular expression notation defines specific meanings to a variety of symbols. 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.The following table indicates how special characters are treated by match conditions and features that support regular expressions.

Caractère spécialSpecial Character DescriptionDescription
\ 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.A backslash escapes the character the follows it, which causes that character to be treated as a literal value instead of taking on its regular expression meaning. Par exemple, la syntaxe suivante échappe un astérisque : \*For example, the following syntax escapes an asterisk: \*
% La signification d’un symbole de pourcentage dépend de son utilisation.The meaning of a percentage symbol depends on its usage.

%{HTTPVariable}: cette syntaxe identifie une variable HTTP.%{HTTPVariable}: This syntax identifies an HTTP variable.
%{HTTPVariable%Pattern}: cette syntaxe utilise un symbole de pourcentage pour identifier une variable HTTP et comme délimiteur.%{HTTPVariable%Pattern}: This syntax uses a percentage symbol to identify an HTTP variable and as a delimiter.
\%: 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).\%: Escaping a percentage symbol allows it to be used as a literal value or to indicate URL encoding (for example, \%20).
* Un astérisque permet de mettre en correspondance une ou plusieurs fois le caractère qui le précède.An asterisk allows the preceding character to be matched zero or more times.
EspaceSpace Un caractère d’espace est généralement traité comme un caractère littéral.A space character is typically treated as a literal character.
'valeur''value' Les guillemets simples sont traités comme des caractères littéraux.Single quotes are treated as literal characters. Un jeu de guillemets simples n’a pas de signification particulière.A set of single quotes does not have special meaning.

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).Match conditions and features that support regular expressions accept patterns defined by Perl Compatible Regular Expressions (PCRE).

Étapes suivantesNext steps