Configuration 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 les délimitez en utilisant des guillemets («.. » ou «.. »). Dans une expression, vous échappez 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 les 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 la barre oblique inverse n’apparaîtra pas sur la ligne de commande après avoir tapé le point d’interrogation. En revanche, si vous échappez une barre oblique inverse (par exemple, dans l’expression ‘http.req.url.contains (« \ \ http ») ‘), les caractères d’échappement sont repris en écho sur la ligne de commande.
Pour rendre une entrée plus lisible, vous pouvez échapper les guillemets pour 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 :/{< | ~$^+=&%@# Configuration 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 les délimitez en utilisant des guillemets («.. » ou «.. »). Dans une expression, vous échappez 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 :
<!JEKYLL@5140@0>
<!JEKYLL@5140@1>
Vous devez également utiliser une barre oblique inverse pour échapper les 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 la barre oblique inverse n’apparaîtra pas sur la ligne de commande après avoir tapé le point d’interrogation. En revanche, si vous échappez une barre oblique inverse (par exemple, dans l’expression ‘http.req.url.contains (« \ \ http ») ‘), les caractères d’échappement sont repris en écho sur la ligne de commande.
?.
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~
<!--NeedCopy-->
Notez qu’une expression qui utilise le délimiteur {est fermée par}.
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 étape de la configuration de l’expression. Vous ne pouvez pas utiliser d’opérateurs arithmétiques lorsque vous utilisez 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
À l’invite de commandes, tapez les commandes suivantes pour configurer une règle de stratégie avancée et vérifier la configuration :
-
add cache|dns|rewrite|cs policyName **-rule** expression featureSpecificParameters **-action**
-
show cache|dns|rewrite|cs 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 <!--NeedCopy-->
Configurer une expression de stratégie avancée à l’aide de l’interface graphique
-
Dans le volet de navigation, cliquez sur le nom de l’entité 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 Changement de contenu, puis cliquez sur Stratégies.
-
Cliquez sur Ajouter.
-
Pour la plupart des fonctionnalités, cliquez sur dans le champ Expression . Pour le changement de contenu, cliquez sur Configurer.
-
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. Le prochain ensemble d’options applicables apparaît dans une liste déroulante.
-
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.
-
Continuez à sélectionner les options jusqu’à ce qu’un champ de saisie (signalé par des parenthèses) apparaisse. Lorsque vous voyez un champ de saisie, saisissez une valeur appropriée entre parenthèses. Par exemple, si vous sélectionnez GT (int) (format entier supérieur à), 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")
-
Pour insérer un opérateur entre deux parties d’une expression composée, cliquez sur l’icône Opérateurs (le sigma), puis sélectionnez le type d’opérateur. Voici un exemple d’expression configurée avec un OR booléen (signalé par des barres verticales doubles), HTTP.REQ.URL.EQ("www.mycompany.com")||HTTP.REQ.BODY(1000).BETWEEN("this","that")
-
Pour insérer une expression nommée, cliquez sur la flèche vers le bas en regard de l’icône Ajouter (signe plus) et sélectionnez une expression nommée.
-
Pour configurer une expression à l’aide de menus déroulants et insérer des expressions intégrées, cliquez sur l’icône Ajouter (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 des options et des champs de texte pour la saisie des 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.
- 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.
Test d’une expression de stratégie avancée à l’aide de l’interface graphique
- 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 Changement de contenu), puis cliquez sur Stratégies.
- Sélectionnez une stratégie, puis cliquez sur Ouvrir.
- Pour tester l’expression, cliquez sur l’icône Evaluer (coche).
- Dans la boîte de dialogue de l’évaluateur d’expression, sélectionnez le type de flux correspondant à l’expression.
- Dans le champ Données de demande HTTP ou Données de réponse HTTP, collez la demande 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 que l’en-tête et le corps doivent être séparés par une ligne vide. Certains programmes qui traquent les en-têtes HTTP ne traquent pas non plus 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.
- Cliquez sur Fermer pour fermer cette boîte de dialogue.