Conditions de correspondance des règles

Dans les ensemble de règles Azure Front Door, une règle se compose d’une action et de zéro, une ou plusieurs conditions de correspondance. Cet article fournit une description détaillée des conditions de correspondance pouvant être utilisées dans les ensembles de règles Azure Front Door.

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 tard en mars 2027. Pour plus d’informations, consultez Mise hors service d’Azure Front Door (classique).

Dans lemoteur de règles Azure Front Door (classique), une règle se compose d’une action et de zéro, une ou plusieurs conditions de correspondance. Cet article fournit une description détaillée des conditions de correspondance pouvant être utilisées dans les moteurs de règles Azure Front Door (classique).

La première partie d’une règle est une condition de correspondance ou un ensemble de conditions de correspondance. Une règle peut comporter jusqu’à 10 conditions de correspondance. Une condition de correspondance identifie des types spécifiques de requêtes pour lesquelles des actions définies sont effectuées. Si vous utilisez plusieurs conditions de correspondance, elles seront regroupées à l’aide de la logique AND. Pour toutes les conditions de correspondance qui prennent en charge plusieurs valeurs, un OR logique est utilisé.

Vous pouvez utiliser une condition de correspondance pour les opérations suivantes :

  • Filtrer les requêtes en fonction d’une adresse IP, d’un port, d’un pays ou d’une région.
  • Filtrer les requêtes d’après les informations d’en-tête.
  • Filtrer les requêtes provenant d’appareils mobiles ou de bureau.
  • Filtrer les demandes à partir du nom de fichier de la demande et de l’extension de fichier.
  • Filtrer les demandes par nom d’hôte, protocole SSL, URL de requête, protocole, chemin d’accès, chaîne de requête, arguments de publication et autres valeurs.
  • Filtrer les requêtes en fonction d’une adresse IP, d’un pays ou d’une région.
  • Filtrer les requêtes d’après les informations d’en-tête.
  • Filtrer les requêtes provenant d’appareils mobiles ou de bureau.
  • Filtrer les demandes à partir du nom de fichier de la demande et de l’extension de fichier.
  • Filtrer les requêtes par URL de requête, protocole, chemin d’accès, chaîne de requête, arguments de publication et autres valeurs.

Type d’appareil

Utilisez la condition de correspondance type d’appareil pour identifier les requêtes provenant d’un appareil mobile ou d’un appareil de bureau.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Dans le portail Azure : Equal, Not Equal
  • Dans les modèles ARM : Equal ; utilisez la propriété negateCondition pour spécifier Not Equal (Non égal)
Valeur Mobile, Desktop

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes détectées comme provenant d’un appareil mobile.

Capture d’écran du portail montrant la condition de correspondance device type.

Version HTTP

Utilisez la condition de correspondance version HTTP afin d’identifier les requêtes effectuées à l’aide d’une version spécifique du protocole HTTP.

Remarque

La condition de correspondance de la version HTTP est uniquement disponible sur Azure Front Door Standard/Premium.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Dans le portail Azure : Equal, Not Equal
  • Dans les modèles ARM : Equal ; utilisez la propriété negateCondition pour spécifier Not Equal (Non égal)
Valeur 2.0, 1.1, 1.0, 0.9

Exemple

Dans cet exemple, nous associons toutes les requêtes envoyées à l’aide du protocole HTTP 2.0.

Capture d’écran du portail montrant la condition de correspondance de la version HTTP.

Cookies de requête

Utilisez la condition de correspondance cookies de requête pour identifier les requêtes qui incluent un cookie spécifique.

Remarque

La condition de correspondance des cookies de la demande est uniquement disponible sur Azure Front Door Standard/Premium.

Propriétés

Propriété Valeurs prises en charge
Nom du cookie Valeur de chaîne représentant le nom du cookie.
Opérateur Tout opérateur de la liste d’opérateurs standard.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur de l’en-tête de la demande à mettre en correspondance. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes qui ont un cookie nommé deploymentStampId avec une valeur 1.

Capture d’écran du portail montrant la condition de correspondance des cookies de requête.

Post args

Utilisez la condition de correspondance post args pour identifier les demandes sur la base des arguments fournis dans le corps d’une demande POST. Une condition de correspondance unique correspond à un argument unique du corps de la demande POST. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Remarque

La condition de correspondance post args fonctionne avec le type de contenu application/x-www-form-urlencoded.

Propriétés

Propriété Valeurs prises en charge
Post args Valeur de chaîne représentant le nom de l’argument POST.
Opérateur Tout opérateur de la liste d’opérateurs standard.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur de l’argument POST à mettre en correspondance. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes POST où un argument customerName est fourni dans le corps de la demande, et où la valeur de customerName commence par la lettre J ou K. Nous utilisons une transformation de casse pour convertir les valeurs d’entrée en majuscules afin que les valeurs commençant par J, j, K et k soient toutes mises en correspondance.

Capture d’écran du portail montrant la condition de correspondance post args.

Chaîne de requête

Utilisez la condition de correspondance query string pour identifier les demandes contenant une chaîne de requête spécifique. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Remarque

La chaîne de requête entière est mise en correspondance en tant que chaîne, sans le signe ? initial.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance chaîne de requête, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Chaîne de requête Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur de la chaîne de requête à mettre en correspondance. N’incluez pas le signe ? au début de la chaîne de requête. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes où la chaîne de requête contient la chaîne language=en-US. Comme nous voulons que la condition de correspondance respecte la casse, nous ne transformons pas celle-ci.

Capture d’écran du portail montrant la condition de correspondance query string.

Adresse distante

La condition de correspondance remote address identifie les demandes sur la base de l’adresse IP ou l’emplacement du demandeur. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

  • Utilisez la notation CIDR lorsque vous spécifiez des blocs d’adresses IP. La syntaxe d’un bloc d’adresses IP est l’adresse IP de base suivie d’une barre oblique et de la taille de préfixe. Par exemple :
    • Exemple IPv4 : 5.5.5.64/26 correspond aux requêtes provenant des adresses 5.5.5.64 à 5.5.5.127.
    • Exemple IPv6 : 1:2:3:/48 correspond aux requêtes qui proviennent des adresses 1:2:3:0:0:0:0:0 à 1:2:3: ffff:ffff:ffff:ffff:ffff.
  • Quand vous spécifiez plusieurs adresses IP et blocs d’adresses IP, un « OR » logique est appliqué.
    • Exemple IPv4 : si vous ajoutez deux adresses IP, 1.2.3.4 et 10.20.30.40, la condition est remplie pour les demandes provenant de l’adresse 1.2.3.4 ou 10.20.30.40.
    • Exemple IPv6 : si vous ajoutez deux adresses IP, 1:2:3:4:5:6:7:8 et 10:20:30:40:50:60:70:80, la condition est remplie pour les demandes provenant de l’adresse 1:2:3:4:5:6:7:8 ou 10:20:30:40:50:60:70:80.
  • L’adresse distante représente l’adresse IP d’origine du client, c’est-à-dire soit à partir de la connexion réseau, soit de l’en-tête de requête X-Forwarded-For si l’utilisateur se trouve derrière un proxy. Utilisez la condition de correspondance adresse du socket (disponible dans Standard/Premium) si vous devez faire correspondre en fonction de l’adresse IP de la requête TCP.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Dans le portail Azure : Geo Match, Geo Not Match, IP Match ou IP Not Match
  • Dans les modèles ARM : GeoMatch, IPMatch ; utilisez la propriété negateCondition pour spécifier Geo Not Match (non-correspondance de zone géographique) ou IP Not Match (non-correspondance d’adresse IP)
Valeur
  • Pour les opérateurs IP Match ou IP Not Match : spécifiez une ou plusieurs plages d’adresses IP. Si plusieurs plages d’adresses IP sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
  • Pour les opérateurs Geo Match ou Geo Not Match : spécifiez un ou plusieurs emplacements à l’aide de leur indicatif de pays.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes ne provenant pas des États-Unis.

Capture d’écran du portail montrant la condition de correspondance remote address.

Corps de demande

La condition de correspondance request body identifie les demandes sur la base du texte apparaissant dans le corps de celles-ci. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Remarque

Si le corps d’une demande dépasse 64 Ko, seuls les 64 premiers Ko sont pris en compte pour la condition de correspondance request body.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance corps de la demande, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur du texte du corps de la demande à mettre en correspondance. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes dont le corps contient la chaîne ERROR. Nous transformons le corps de la requête en majuscules avant d’évaluer la correspondance, de sorte que error et d’autres variations de la casse déclenchent également cette condition de correspondance.

Capture d’écran du portail montrant la condition de correspondance request body.

Nom de fichier de la requête

La condition de correspondance request file name identifie les demandes qui incluent le nom de fichier spécifié dans l’URL de la demande. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance nom de fichier de la demande, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur du nom de fichier de demande à mettre en correspondance. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes où le nom de fichier de la demande est media.mp4. Nous transformons le nom de fichier en minuscules avant d’évaluer la correspondance, de sorte que MEDIA.MP4 et d’autres variations de la casse déclenchent également cette condition de correspondance.

Capture d’écran du portail montrant la condition de correspondance request file name.

Extension de fichier de la requête

La condition de correspondance request file extension identifie les demandes qui incluent l’extension de fichier spécifiée dans le nom de fichier dans l’URL de la demande. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Remarque

N’incluez pas de point initial. Par exemple, utilisez html au lieu de .html.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance extension de fichier de la demande, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur de l’extension de fichier de la demande à mettre en correspondance. N’incluez pas de point initial. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes où l’extension de fichier de la demande est pdf ou docx. Nous transformons l’extension de fichier de la requête en minuscules avant d’évaluer la correspondance, de sorte que PDF, DocX et d’autres variations de la casse déclenchent également cette condition de correspondance.

Capture d’écran du portail montrant la condition de correspondance request file extension.

En-tête de requête

La condition de correspondance request header identifie les demandes qui incluent un en-tête spécifique. Vous pouvez utiliser cette condition de correspondance pour vérifier si un en-tête existe ou pour vérifier si l’en-tête correspond à une valeur spécifiée. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Propriétés

Propriété Valeurs prises en charge
Nom de l’en-tête Valeur de chaîne représentant le nom de l’argument POST.
Opérateur Tout opérateur de la liste d’opérateurs standard.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur de l’en-tête de la demande à mettre en correspondance. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes contenant un en-tête nommé MyCustomHeader, quelle que soit sa valeur.

Capture d’écran du portail montrant la condition de correspondance request header.

Méthode de requête

La condition de correspondance request method identifie les demandes qui utilisent la méthode de demande HTTP spécifiée. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Dans le portail Azure : Equal, Not Equal
  • Dans les modèles ARM : Equal ; utilisez la propriété negateCondition pour spécifier Not Equal (Non égal)
Méthode de requête Une ou plusieurs méthodes HTTP parmi les suivantes : GET , POST , PUT , DELETE , HEAD , OPTIONS , TRACE. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes utilisant la méthode DELETE.

Capture d’écran du portail montrant la condition de correspondance request method.

Chemin de la requête

La condition de correspondance request path identifie les demandes qui incluent le chemin spécifié dans l’URL de la demande. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Remarque

Le chemin est la partie de l’URL située derrière le nom d’hôte et une barre oblique. Par exemple, dans l’URL https://www.contoso.com/files/secure/file1.pdf, le chemin est files/secure/file1.pdf.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance chemin de la demande, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
  • Caractère générique : correspond au moment où le chemin d’accès de requête correspond à une expression générique. Une expression générique peut inclure le caractère * correspondant à zéro ou plusieurs caractères dans le chemin d’accès. Par exemple, l’expression générique files/customer*/file.pdf correspond aux chemins d’accès files/customer1/file.pdf, files/customer109/file.pdf et files/customer/file.pdf, mais ne correspond pas à files/customer2/anotherfile.pdf.
    • Dans le portail Azure : Wildcards, Not Wildcards
    • Dans les modèles ARM : Wildcard ; utilisez la propriété negateCondition pour spécifier Non caractères génériques
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur du chemin de la demande à mettre en correspondance. Si vous spécifiez une barre oblique de début, elle est ignorée. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.
Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance chemin de la demande, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur du chemin de la demande à mettre en correspondance. Si vous spécifiez une barre oblique de début, elle est ignorée. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes où le chemin du fichier de demande commence par files/secure/. Nous transformons l’extension de fichier de la requête en minuscules avant d’évaluer la correspondance, de sorte que les requêtes pour files/SECURE/ et d’autres variations de la casse déclenchent également cette condition de correspondance.

Capture d’écran du portail montrant la condition de correspondance request path.

Protocole de requête

La condition de correspondance request protocol identifie les demandes qui utilisent le protocole spécifié (HTTP ou HTTPS).

Notes

Le protocole est parfois également appelé schéma.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Dans le portail Azure : Equal, Not Equal
  • Dans les modèles ARM : Equal ; utilisez la propriété negateCondition pour spécifier Not Equal (Non égal)
Méthode de requête HTTP, HTTPS

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes utilisant le protocole HTTP.

Capture d’écran du portail montrant la condition de correspondance request protocol.

URL de la demande

Identifie les requêtes qui correspondent à l’URL spécifiée. L’URL entière est évaluée, y compris le protocole et la chaîne de requête, mais pas le fragment. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Conseil

Lorsque vous utilisez cette condition de règle, veillez à inclure le protocole et une barre oblique / de fin. Par exemple, utilisez https://www.contoso.com/ au lieu de www.contoso.com.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance URL de la demande, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Une ou plusieurs valeurs de chaîne ou d’entier représentant la valeur de l’URL de la demande à mettre en correspondance. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les demandes où l’URL de la demande commence par https://api.contoso.com/customers/123. Nous transformons l’extension de fichier de la demande en minuscules avant d’évaluer la correspondance, de sorte que les demandes adressées à https://api.contoso.com/Customers/123, et d’autres variations de casse, déclenchent également cette condition de correspondance.

Capture d’écran du portail montrant la condition de correspondance request URL.

Nom de l’hôte

La condition de correspondance du nom d’hôte identifie les requêtes en fonction du nom d’hôte spécifié dans la requête du client. La condition de correspondance utilise la valeur d’en-tête Host pour évaluer le nom d’hôte. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance nom d’hôte, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Une ou plusieurs valeurs de chaîne représentant la valeur du nom d'hôte de la requête à mettre en correspondance. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.
Transformation de cas Toute transformation de cas de la liste de transformations de chaîne standard.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes dont Host l’en-tête se termine par contoso.com.

Capture d’écran du portail montrant la condition de correspondance du nom d’hôte.

Protocole SSL

La condition de correspondance de protocole SSL identifie les requêtes en fonction du protocole SSL d’une connexion TLS établie. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Dans le portail Azure : Equal, Not Equal
  • Dans les modèles ARM : Equal ; utilisez la propriété negateCondition pour spécifier Not Equal (Non égal)
Protocole SSL
  • Dans le Portail Azure : 1.0, 1.1, 1.2
  • Dans les modèles ARM : TLSv1, TLSv1.1, TLSv1.2

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes qui utilisent le protocole TLS 1.2.

Capture d’écran du portail montrant la condition de correspondance du protocole SSL.

Adresse du socket

La condition de correspondance d’adresse du socket identifie les requêtes en fonction de l’adresse IP de la connexion directe au périmètre Azure Front Door. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Remarque

Si le client a utilisé un proxy HTTP ou un équilibreur de charge pour envoyer la requête, l’adresse du socket est l’adresse IP du proxy ou de l’équilibreur de charge.

Utilisez la condition de correspondance d'adresse distante si vous devez faire correspondre en fonction de l’adresse IP d’origine du client.

  • Utilisez la notation CIDR lorsque vous spécifiez des blocs d’adresses IP. Cela signifie que la syntaxe d’un bloc d’adresses IP est l’adresse IP de base suivie d’une barre oblique et de la taille de préfixe. Par exemple :
    • Exemple IPv4 : 5.5.5.64/26 correspond aux requêtes provenant des adresses 5.5.5.64 à 5.5.5.127.
    • Exemple IPv6 : 1:2:3:/48 correspond aux requêtes qui proviennent des adresses 1:2:3:0:0:0:0:0 à 1:2:3: ffff:ffff:ffff:ffff:ffff.
  • Quand vous spécifiez plusieurs adresses IP et blocs d’adresses IP, un « OR » logique est appliqué.
    • Exemple IPv4 : si vous ajoutez deux adresses IP, 1.2.3.4 et 10.20.30.40, la condition est remplie pour les demandes provenant de l’adresse 1.2.3.4 ou 10.20.30.40.
    • Exemple IPv6 : si vous ajoutez deux adresses IP, 1:2:3:4:5:6:7:8 et 10:20:30:40:50:60:70:80, la condition est remplie pour les demandes provenant de l’adresse 1:2:3:4:5:6:7:8 ou 10:20:30:40:50:60:70:80.

Propriétés

Propriété Valeurs prises en charge
Opérateur
  • Dans le portail Azure : IP Match, Not IP Match
  • Dans les modèles ARM : IPMatch ; utilisez la propriété negateCondition pour spécifier Sans correspondance IP
Valeur Spécifiez une ou plusieurs plages d’adresses IP. Si plusieurs plages d’adresses IP sont spécifiées, elles sont évaluées à l’aide d’un OR logique.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes des adresses IP dans la plage 5.5.5.64/26.

Capture d’écran du portail montrant la condition de correspondance de l’adresse du socket.

Port client

La condition de correspondance de port client identifie les requêtes en fonction du port TCP du client qui a effectué la requête. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance port du client, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Un ou plusieurs numéros de port, exprimés en tant qu’entiers. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes avec le port client 1234.

Capture d’écran du portail montrant la condition de correspondance du port du client.

Port du serveur

La condition de correspondance de port du serveur identifie les requêtes en fonction du port TCP du serveur Azure Front Door qui a accepté la requête. Le port doit être 80 ou 443. Vous pouvez spécifier plusieurs valeurs à mettre en correspondance, qui peuvent être combinées à l’aide de la logique OR.

Propriétés

Propriété Valeurs prises en charge
Opérateur Tous les opérateurs de la liste d’opérateurs standard sont pris en charge. Toutefois, quand vous utilisez la condition de correspondance port du serveur, toute demande remplit la condition de correspondance N’importe lequel alors qu’aucune demande ne remplit la condition de correspondance Aucun.
Valeur Un numéro de port, qui doit être 80 ou 443. Si plusieurs valeurs sont spécifiées, elles sont évaluées à l’aide d’un OR logique.

Exemple

Dans cet exemple, nous mettons en correspondance toutes les requêtes avec le port serveur 443.

Capture d’écran du portail montrant la condition de correspondance du serveur client.

Liste d'opérateurs

Pour les règles qui acceptent les valeurs de la liste des opérateurs standard, les opérateurs suivants sont valides :

Opérateur Description Prise en charge de modèle ARM
Quelconque Correspond quand il y a une valeur, quelle qu’elle soit. operator: Any
Égal à Correspond quand la valeur correspond exactement à la chaîne spécifiée. operator: Equal
Contient Correspond quand la valeur contient la chaîne spécifiée. operator: Contains
Inférieur à Correspond quand la longueur de la valeur est inférieure à l’entier spécifié. operator: LessThan
Supérieur à Correspond quand la longueur de la valeur est supérieure à l’entier spécifié. operator: GreaterThan
Inférieur ou égal à Correspond quand la longueur de la valeur est inférieure ou égale à l’entier spécifié. operator: LessThanOrEqual
Supérieur ou égal à Correspond quand la longueur de la valeur est supérieure ou égale à l’entier spécifié. operator: GreaterThanOrEqual
Commence par Correspond quand la valeur commence par la chaîne spécifiée. operator: BeginsWith
Se termine par Correspond quand la valeur se termine par la chaîne spécifiée. operator: EndsWith
Aucun Correspond quand il n’y a aucune valeur. operator : Any et negateCondition : true
Not Equal Correspond quand la valeur ne correspond pas à la chaîne spécifiée. operator : Equal et negateCondition : true
Ne contient pas Correspond quand la valeur ne contient pas la chaîne spécifiée. operator : Contains et negateCondition : true
Pas inférieur à Correspond quand la longueur de la valeur n’est pas inférieure à l’entier spécifié. operator : LessThan et negateCondition : true
Pas supérieur à Correspond quand la longueur de la valeur n’est pas supérieure à l’entier spécifié. operator : GreaterThan et negateCondition : true
Pas inférieur ou égal à Correspond quand la longueur de la valeur n’est pas inférieure ou égale à l’entier spécifié. operator : LessThanOrEqual et negateCondition : true
Pas supérieur ou égal à Correspond quand la longueur de la valeur n’est pas supérieure ou égale à l’entier spécifié. operator : GreaterThanOrEqual et negateCondition : true
Ne commence pas par Correspond quand la valeur ne commence pas par la chaîne spécifiée. operator : BeginsWith et negateCondition : true
Ne se termine pas par Correspond quand la valeur ne se termine pas par la chaîne spécifiée. operator : EndsWith et negateCondition : true
Opérateur Description Prise en charge de modèle ARM
Quelconque Correspond quand il y a une valeur, quelle qu’elle soit. operator: Any
Égal à Correspond quand la valeur correspond exactement à la chaîne spécifiée. operator: Equal
Contient Correspond quand la valeur contient la chaîne spécifiée. operator: Contains
Inférieur à Correspond quand la longueur de la valeur est inférieure à l’entier spécifié. operator: LessThan
Supérieur à Correspond quand la longueur de la valeur est supérieure à l’entier spécifié. operator: GreaterThan
Inférieur ou égal à Correspond quand la longueur de la valeur est inférieure ou égale à l’entier spécifié. operator: LessThanOrEqual
Supérieur ou égal à Correspond quand la longueur de la valeur est supérieure ou égale à l’entier spécifié. operator: GreaterThanOrEqual
Commence par Correspond quand la valeur commence par la chaîne spécifiée. operator: BeginsWith
Se termine par Correspond quand la valeur se termine par la chaîne spécifiée. operator: EndsWith
Expression régulière Correspond quand la valeur correspond à l’expression régulière spécifiée. Voyez ci-dessous pour plus de détails. operator: RegEx
Aucun Correspond quand il n’y a aucune valeur. operator : Any et negateCondition : true
Not Equal Correspond quand la valeur ne correspond pas à la chaîne spécifiée. operator : Equal et negateCondition : true
Ne contient pas Correspond quand la valeur ne contient pas la chaîne spécifiée. operator : Contains et negateCondition : true
Pas inférieur à Correspond quand la longueur de la valeur n’est pas inférieure à l’entier spécifié. operator : LessThan et negateCondition : true
Pas supérieur à Correspond quand la longueur de la valeur n’est pas supérieure à l’entier spécifié. operator : GreaterThan et negateCondition : true
Pas inférieur ou égal à Correspond quand la longueur de la valeur n’est pas inférieure ou égale à l’entier spécifié. operator : LessThanOrEqual et negateCondition : true
Pas supérieur ou égal à Correspond quand la longueur de la valeur n’est pas supérieure ou égale à l’entier spécifié. operator : GreaterThanOrEqual et negateCondition : true
Ne commence pas par Correspond quand la valeur ne commence pas par la chaîne spécifiée. operator : BeginsWith et negateCondition : true
Ne se termine pas par Correspond quand la valeur ne se termine pas par la chaîne spécifiée. operator : EndsWith et negateCondition : true
Pas expression régulière Correspond quand la valeur ne correspond pas à l’expression régulière spécifiée. Voyez ci-dessous pour plus de détails. operator : RegEx et negateCondition : true

Conseil

Pour les opérateurs numériques tels que Inférieur à et Supérieur ou égal à, la comparaison utilisée est basée sur la longueur. La valeur de la condition de correspondance doit être un entier spécifiant la longueur que vous voulez comparer.

Expressions régulières

Les expressions régulières ne prennent pas en charge les opérations suivantes :

  • Références arrière et capture de sous-expressions.
  • Assertions arbitraires de largeur nulle.
  • Références de sous-routines et modèles récursifs.
  • Modèles conditionnels.
  • Verbes de contrôle de retours sur trace.
  • La directive \C mono-octet.
  • La directive de correspondance de saut de ligne \R.
  • La directive de début de correspondance de réinitialisation \K.
  • Légendes et code incorporé.
  • Regroupement atomique et quantificateurs de possession.

Liste de transformations de chaîne

Pour les règles qui risquent de transformer des chaînes, les transformations suivantes sont valables :

Transformation Description Prise en charge de modèle ARM
En minuscules Convertit la chaîne en une représentation en minuscules. Lowercase
En majuscules Convertit la chaîne en une représentation en majuscules. Uppercase
SupprEspace Supprime les espaces blancs au début et à la fin de la chaîne. Trim
Supprimer les valeurs null Supprime les valeurs null de la chaîne. RemoveNulls
Encoder par URL Encode la chaîne par URL. UrlEncode
Décoder par URL Décode la chaîne par URL. UrlDecode

Étapes suivantes