Configurer des expressions de stratégie avancées dans une stratégie

Vous pouvez configurer une expression de stratégie avancée comportant jusqu’à 1 499 caractères dans une stratégie. L’interface utilisateur des expressions de stratégie avancées dépend dans une certaine mesure de la fonctionnalité pour laquelle vous configurez l’expression et de la configuration d’une expression pour une stratégie ou pour une autre utilisation.

Lorsque vous configurez des expressions sur la ligne de commande, vous délimitez l’expression en utilisant des guillemets (« … » ou « . ». »). Dans une expression, vous évadez les guillemets supplémentaires à l’aide d’une barre oblique inverse (). Par exemple, les méthodes standard suivantes permettent d’échapper les guillemets dans une expression :

"\"abc\""

‘\"abc\"’

Vous devez également utiliser une barre oblique inverse pour échapper aux points d’interrogation et autres barres obliques inverses sur la ligne de commande. Par exemple, l’expression http.req.url.contains («  ? ») nécessite une barre oblique inverse pour que le point d’interrogation soit analysé. Notez que le caractère de barre oblique inverse n’apparaît pas sur la ligne de commande après avoir tapé le point d’interrogation. D’un autre côté, si vous échappez une barre oblique inverse (par exemple, dans l’expression ‘http.req.url.contains (« http ») ‘), les caractères d’échappement sont repris sur la ligne de commande.

Pour rendre une entrée plus lisible, vous pouvez échapper aux guillemets d’une expression entière. Au début de l’expression, vous entrez la séquence d’échappement « q » plus l’un des caractères spéciaux suivants :/{< ~$^+=&%@` ?.

Vous n’entrez que le caractère spécial à la fin de l’expression, comme suit :

q@http.req.url.contains("sometext") && http.req.cookie.exists@

q~http.req.url.contains("sometext") && http.req.cookie.exists~

Notez qu’une expression qui utilise le {delimiteur est fermée avec}.

Pour certaines fonctionnalités (par exemple, Integrated Caching and Responder), la boîte de dialogue de configuration de stratégie fournit une boîte de dialogue secondaire pour configurer les expressions. Cette boîte de dialogue vous permet de choisir parmi des listes déroulantes qui affichent les choix disponibles à chaque point pendant la configuration de l’expression. Vous ne pouvez pas utiliser d’opérateurs arithmétiques lors de l’utilisation de ces boîtes de dialogue de configuration, mais la plupart des autres fonctionnalités avancées d’expression de stratégie sont disponibles. Pour utiliser des opérateurs arithmétiques, écrivez vos expressions au format libre.

Configurer une règle de syntaxe de stratégie avancée à l’aide de l’interface de ligne de commande

Remarque :

La stratégie de syntaxe par défaut est désormais renommée Stratégie avancée.

À l’invite de commandes, tapez les commandes suivantes pour configurer une règle de syntaxe par défaut et vérifier la configuration :

  1. add cache|dns|rewrite|cs policy policyName **-rule** expression featureSpecificParameters **-action**

  2. show cache|dns|rewrite|cs policy policyName Voici un exemple de configuration d’une stratégie de mise en cache :

    Exemple :

    > add cache policy pol-cache -rule http.req.content_length.le(5) -action INVAL
     Done
    
    > show cache policy pol-cache
            Name: pol-cache
            Rule: http.req.content_length.le(5)
            CacheAction: INVAL
            Invalidate groups: DEFAULT
            UndefAction: Use Global
            Hits: 0
            Undef Hits: 0
    
     Done
    

Configurer une expression de stratégie de syntaxe par défaut à l’aide de l’interface graphique

  1. Dans le volet de navigation, cliquez sur le nom de la fonctionnalité dans laquelle vous souhaitez configurer une stratégie. Par exemple, vous pouvez sélectionner Mise en cache intégrée, Répondeur, DNS, Réécriture ou Commutation de contenu, puis cliquez sur Stratégies.

  2. Cliquez sur Ajouter.

  3. Pour la plupart des fonctionnalités, cliquez dans le champ Expression . Pour la commutation de contenu, cliquez sur Configurer.

  4. Cliquez sur l’icône Préfixe (la maison) et sélectionnez le premier préfixe d’expression dans la liste déroulante. Par exemple, dans Responder, les options sont HTTP, SYS et CLIENT. L’ensemble suivant d’options applicables apparaît dans une liste déroulante.

  5. Double-cliquez sur l’option suivante pour la sélectionner, puis tapez un point (.). Encore une fois, un ensemble d’options applicables apparaît dans une autre liste déroulante.

  6. Continuez à sélectionner des options jusqu’à ce qu’un champ de saisie (signalé par des parenthèses) apparaisse. Lorsque vous voyez un champ d’entrée, entrez une valeur appropriée entre parenthèses. Par exemple, si vous sélectionnez GT (int) (format supérieur à, entier), vous spécifiez un entier entre parenthèses. Les chaînes de texte sont délimitées par des guillemets. Voici un exemple :

    HTTP.REQ.BODY(1000).BETWEEN("this","that")

  7. Pour insérer un opérateur entre deux parties d’une expression composée, cliquez sur l’icône Opérateurs (sigma) et sélectionnez le type d’opérateur. Voici un exemple d’expression configurée avec une OR booléenne (signalée par des barres verticales doubles, ||) :

    HTTP.REQ.URL.EQ("www.mycompany.com")||HTTP.REQ.BODY(1000).BETWEEN("this","that")

  8. Pour insérer une expression nommée, cliquez sur la flèche vers le bas en regard de l’icône Ajouter (le signe plus) et sélectionnez une expression nommée.

  9. Pour configurer une expression à l’aide des menus déroulants et insérer des expressions intégrées, cliquez sur l’icône Ajouter (le signe plus). La boîte de dialogue Ajouter une expression fonctionne de la même manière que la boîte de dialogue principale, mais elle fournit des listes déroulantes pour sélectionner les options et fournit des champs de texte pour la saisie de données au lieu de parenthèses. Cette boîte de dialogue fournit également une liste déroulante Expressions fréquemment utilisées qui insère les expressions couramment utilisées. Lorsque vous avez terminé d’ajouter l’expression, cliquez sur OK.

  10. Lorsque vous avez terminé, cliquez sur Créer. Un message dans la barre d’état indique que l’expression de stratégie est correctement configurée.

Tester une expression de syntaxe par défaut à l’aide de l’interface graphique

  1. Dans le volet de navigation, cliquez sur le nom de la fonctionnalité pour laquelle vous souhaitez configurer une stratégie (par exemple, vous pouvez sélectionner Mise en cache intégrée, Répondeur, DNS, Réécriture ou Commutation de contenu), puis cliquez sur Stratégies.
  2. Sélectionnez une stratégie et cliquez sur Ouvrir.
  3. Pour tester l’expression, cliquez sur l’icône Evaluer (coche).
  4. Dans la boîte de dialogue évaluateur d’expression, sélectionnez le type de flux correspondant à l’expression.
  5. Dans le champ Données de requête HTTPou Données de réponse HTTP, collez la requête ou la réponse HTTP que vous souhaitez analyser avec l’expression, puis cliquez sur Evaluer . Notez que vous devez fournir une requête ou une réponse HTTP complète, et l’en-tête et le corps doivent être séparés par une ligne vide. Certains programmes qui interceptent les en-têtes HTTP n’interceptent pas également la réponse. Si vous copiez et collez uniquement l’en-tête, insérez une ligne vide à la fin de l’en-tête pour former une requête ou une réponse HTTP complète.
  6. Cliquez sur Fermer pour fermer cette boîte de dialogue.