Utilisez l'interface graphique du moteur de règles pour définir des règles conditionnelles basées sur les paramètres de requête et contrôler précisément le moment où les politiques de configuration DCDN entrent en vigueur.
Remarque : Lorsque cette fonctionnalité fait référence à des conditions de règle issues du moteur de règles, l'ordre d'exécution suit la priorité des conditions configurées dans le moteur de règles, et non l'ordre de priorité de la configuration de la fonctionnalité elle-même.
Contexte
La console Alibaba Cloud CDNDCDN propose des fonctionnalités de base telles que la configuration de la durée de vie (TTL) et la réécriture des paramètres de requête vers l'origine. Ces fonctionnalités couvrent la plupart des cas d'utilisation, mais ne peuvent pas répondre à toutes les exigences. Par exemple, vous pouvez avoir besoin de router les requêtes contenant le chemin /example vers une origine spécifique. Pour ce type de scénarios, combinez les fonctionnalités de base avec le moteur de règles afin d'obtenir des configurations plus flexibles. Alibaba Cloud CDNDCDN propose également EdgeRoutine pour une personnalisation avancée.
|
Capacité de configuration |
Fonctionnalités de base |
Fonctionnalités de base + moteur de règles |
EdgeRoutine |
|
Implémentation |
Configurations génériques |
Configurations personnalisées flexibles |
Configurations personnalisées hautement flexibles |
|
Scénarios |
Cas d'utilisation courants |
Besoins personnalisés avancés |
Besoins entièrement personnalisés |
|
Difficulté |
Faible |
Moyenne |
Élevée |
|
Flexibilité de configuration |
Faible |
Moyenne |
Élevée |
Limites
Vous pouvez créer un maximum de 50 conditions de règle par nom de domaine.
Chaque condition de règle peut contenir un maximum de 20 sous-règles.
Vous ne pouvez pas utiliser les opérateurs de correspondance ou de non-correspondance par expression régulière lors de la configuration des conditions de règle dans la console ou via l'OpenAPI. Toutefois, vous pouvez consulter les configurations existantes qui utilisent ces opérateurs. Pour utiliser ces opérateurs, utilisez ESA.
Une condition de règle peut être référencée au maximum cinq fois dans l'ensemble des fonctionnalités d'un même nom de domaine.
Vous pouvez imbriquer les conditions de règle jusqu'à trois niveaux de profondeur, chaque niveau pouvant disposer de ses propres relations logiques indépendantes.
Si une fonctionnalité, telle que la définition de la durée d'expiration du cache ou la modification des en-têtes de requête sortants, fait référence à une condition de règle, la priorité de la condition détermine l'ordre d'exécution, et non l'ordre de configuration de la fonctionnalité.
-
Parmi les limites précédentes, les maxima de 50 conditions de règle, 20 sous-règles et 3 niveaux d'imbrication sont des limites strictes qui ne peuvent pas être augmentées sur demande. Le nombre total maximal de références aux conditions de règle dans toutes les fonctionnalités d'un seul nom de domaine accéléré, qui est de 5 par défaut, peut être augmenté sur demande.
Pour augmenter le nombre total de références aux conditions de règle pour un seul nom de domaine (cinq par défaut), soumettez un ticket. Indiquez les informations suivantes dans le ticket : le nom de domaine accéléré pour lequel vous souhaitez augmenter la limite, le nombre cible de références et une description de votre scénario métier.
Lors de l'ajout d'un autre nom de domaine accéléré, soumettez un ticket distinct pour augmenter le nombre de références aux conditions de règle pour ce domaine. La procédure est identique à celle de la première demande.
Chaque condition peut comporter un maximum de 32 valeurs de correspondance pour les types de correspondance tels que l'adresse IP du client, l'URI, l'extension de fichier, le nom de fichier et l'en-tête User-Agent. Si vous disposez d'une longue liste d'autorisation d'adresses IP clientes, regroupez plusieurs adresses IP en blocs CIDR (par exemple,
120.209.XXX.X/24) pour configurer les adresses IP et économiser la capacité de valeurs de correspondance.Vous pouvez configurer un maximum de 32 valeurs de correspondance pour l'en-tête User-Agent. Les valeurs dépassant cette limite sont ignorées. Pour faire correspondre un grand nombre d'en-têtes User-Agent, utilisez un caractère générique (
*) afin de regrouper les valeurs similaires. Par exemple,*Chrome*correspond à toutes les versions du navigateur Chrome), ou utilisez EdgeScript pour une logique de correspondance plus flexible.
Syntaxe des conditions de règle
Une condition de règle combine une ou plusieurs expressions conditionnelles à l'aide d'opérateurs logiques. Les sections suivantes décrivent la syntaxe.
Opérateurs logiques
Les opérateurs logiques évaluent les conditions au même niveau, y compris les ensembles de conditions imbriqués. Les opérateurs pris en charge sont and et or.
and(ET) : opérateur logique ET. Une correspondance réussit uniquement si toutes les conditions sont vraies.or(OU) : opérateur logique OU. Une correspondance réussit si au moins une condition est vraie. Par exemple, la configuration de plusieurs conditions de règle pour le même en-tête de réponse vous permet d'ajouter le même en-tête de réponse dans différentes conditions. Exemple : lorsque l'URI contient/path-aor l'URI contient/path-b, ajoutez l'en-tête de réponse.
Paramètres d'une expression conditionnelle
Une expression conditionnelle, qui constitue l'unité la plus granulaire d'une règle, comprend les paramètres suivants :
|
Paramètre |
Paramètre de configuration correspondant dans la fonction condition pour la configuration du nom de domaine |
Description |
Obligatoire |
|
Correspondance conditionnelle |
match |
Spécifie l'expression de correspondance conditionnelle. |
Oui |
|
Opérateur logique |
logic |
Spécifie l'opérateur logique pour l'expression de correspondance conditionnelle. Les valeurs valides sont |
Oui |
|
Critères |
criteria |
Spécifie le tableau d'expressions conditionnelles à évaluer. |
Oui |
|
Type de correspondance |
MatchType |
Spécifie le type d'informations dans une requête client à faire correspondre. |
Oui |
|
Objet de correspondance |
MatchObject |
Affine davantage le type de correspondance. Par exemple, une adresse IP cliente peut être spécifiée comme une adresse IP de connexion POP ou une adresse IP XFF. |
Non |
|
Opérateur de correspondance |
MatchOperator |
Spécifie la comparaison à effectuer. |
Oui |
|
Valeur de correspondance |
MatchValue |
La valeur à comparer aux données de la requête client. |
Oui |
|
Négation de la condition |
negate |
Indique s'il faut inverser le résultat de l'expression conditionnelle. Les valeurs valides sont true et false. |
Oui |
|
Sensibilité à la casse |
caseSensitive |
Indique si la valeur de correspondance est sensible à la casse. |
Non |
|
Nom de la condition de règle |
name |
Spécifie le nom de la condition de règle. |
Oui |
|
État |
status |
Spécifie l'état de la condition de règle. |
Oui |
Fonctionnalités prenant en charge les conditions de règle
|
Catégorie de fonctionnalité |
Nom de la fonctionnalité |
|
configuration de récupération d'origine |
|
|
en-têtes de requête HTTP d'origine (Nouveau) |
|
|
en-têtes de réponse HTTP d'origine |
|
|
configuration du cache |
|
Procédure
Connectez-vous à la console DCDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, recherchez le nom de domaine que vous souhaitez gérer et cliquez sur Configure dans la colonne Actions.
Dans le volet de navigation de gauche, cliquez sur Rule Engine.
Cliquez sur Create Rule.
Sur la page Create Rule, définissez le Rule Name et le Rule Content.
Cliquez sur Submit.