Citrix ADC

Configurer une stratégie de redirection du cache

Une stratégie de redirection de cache inclut une ou plusieurs expressions (également appelées règles). Chaque expression représente une condition qui est évaluée lorsque la demande du client est comparée à la stratégie.

Vous ne configurez pas explicitement les actions des stratégies de redirection du cache. Par défaut, l’appliance Citrix ADC considère que toute demande correspondant à une stratégie ne peut pas être mise en cache et dirige la demande vers le serveur d’origine au lieu du cache.

Les stratégies de redirection de cache basées sur le format de stratégie classique sont appelées stratégies de redirection de cache classiques. Chacune de ces stratégies a un nom et inclut une expression classique ou un ensemble d’expressions classiques qui sont combinées à l’aide d’opérateurs logiques.

Pour les stratégies de redirection de cache classiques, vous ne configurez pas explicitement les actions pour les stratégies. Par défaut, l’appliance Citrix ADC considère que toute demande correspondant à une stratégie ne peut pas être mise en cache et dirige la demande vers le serveur d’origine au lieu du cache.

Les stratégies de redirection du cache basées sur le format de stratégie le plus récent sont appelées stratégies de redirection avancées. Cette stratégie porte un nom et inclut une expression de stratégie avancée ou un ensemble d’expressions de stratégie avancées qui sont combinées à l’aide d’opérateurs logiques, et les actions intégrées suivantes :

  • CACHE
  • ORIGIN

Pour plus d’informations sur les expressions classiques et les expressions de stratégie avancées, consultez la section Stratégies et expressions.

Ajouter une stratégie de redirection de cache à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour ajouter une stratégie de redirection du cache et vérifier la configuration :

-  add cr policy <policyName> \*\*-rule\*\* <expression>
-  show cr policy [<policyName>]
<!--NeedCopy-->

Exemples :

Stratégie avec une expression simple :

> add cr policy-CRD-1 -rule "REQ.HTTP.URL != /\*.jpeg"
 Done
> show cr policy-CRD-1
         Cache-By-Pass RULE: REQ.HTTP.URL != '/\*.jpeg'   Policy:Policy-CRD-1
 Done
<!--NeedCopy-->

Stratégie avec une expression composée :

> add cr policy-CRD-2 -rule "REQ.HTTP.METHOD == POST && (REQ.HTTP.URL == /\*.cgi || REQ.HTTP.URL != /\*.gif)"
 Done
> show cr policy-CRD-2
         Cache-By-Pass RULE: REQ.HTTP.METHOD == POST && (REQ.HTTP.URL == '/\*.cgi' || REQ.HTTP.URL != '/\*.gif')   Policy:Policy-CRD-2
 Done
<!--NeedCopy-->

Stratégie qui évalue un en-tête :

> add cr policy-CRD-3 -rule "REQ.HTTP.HEADER If-Modified-Since EXISTS"
 Done
> show cr policy-CRD-3
         Cache-By-Pass RULE: REQ.HTTP.HEADER If-Modified-Since EXISTS    Policy:Policy-CRD-3
 Done
<!--NeedCopy-->

Ajouter une stratégie de redirection de cache de stratégie avancée à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour ajouter une stratégie de redirection du cache et vérifier la configuration :

-  add cr policy <policyName> \*\*-rule\*\* <expression> [-action<string>] [-logAction<string>]
-  show cr policy [<policyName>]
<!--NeedCopy-->

Exemples :

Stratégie avec une expression simple :

> add cr policy crpol1 -rule !(HTTP.REQ.URL.ENDSWITH(".jpeg”)) -action origin
 Done
> show cr policy crpoll
         Policy: crpol1 Rule: !(HTTP.REQ.URL.ENDSWITH(".jpeg")) Action: ORIGIN
 Done
<!--NeedCopy-->

Stratégie avec une expression composée :

> add cr policy crpol11 -rule "http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi"))"  -action cache
 Done
> show cr policy crpol11
         Policy: crpol11    Rule: http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi"))  Action: CACHE
 Done
<!--NeedCopy-->

Stratégie qui évalue un en-tête :

> add cr policy crpol12 -rule http.req.header("If-Modified-Since").exists -action origin
 Done
> show cr policy crpol12
         Policy: crpol12    Rule: http.req.header("If-Modified-Since").exists   Action: ORIGIN
 Done
<!--NeedCopy-->

Modifier ou supprimer une stratégie de redirection de cache à l’aide de l’interface de ligne de commande

  • Pour modifier une stratégie de redirection de cache, utilisez la commande set cr policy, qui est similaire à la commande add cr policy, sauf que vous entrez le nom d’une stratégie existante.
  • Pour supprimer une stratégie, utilisez la rm cr policy commande, qui n’accepte que l’<name>argument. Si la stratégie est liée à un serveur virtuel, vous devez la dissocier avant de pouvoir la supprimer.

Pour plus d’informations sur la suppression de la liaison d’une stratégie de redirection de cache, voir Délier une stratégie d’un serveur virtuel de redirection de cache.

Configurer une stratégie de redirection de cache avec une expression simple à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Redirection du cache > Stratégies.

  2. Dans le volet d’informations, cliquez sur Ajouter.

  3. Dans la boîte de dialogue Créer une stratégie de redirection de cache, dans la zone de texte Nom*, tapez le nom de la stratégie, puis dans la zone Expression, cliquez sur Ajouter.

  4. Pour configurer une expression simple, saisissez-la. Voici un exemple d’expression qui vérifie la présence d’une .jpeg extension dans une URL :

    • Type d’expression - Général
    • Type de flux -REQ
    • Protocole -HTTP
    • Qualificatif -URL
    • Opérateur - ! =
    • Valeur - /.jpeg

    L’expression simple de l’exemple suivant vérifie la présence d’un en-tête If-Modified-Since dans une demande :

    • Type d’expression - Général
    • Type de flux -REQ
    • Protocole -HTTP
    • Qualificatif -HEADER
    • Opérateur -EXISTS
    • Nom de l’en-tête -If-Modified-Since
  5. Lorsque vous avez fini de saisir l’expression, cliquez sur OK ou sur Créer, puis cliquez sur Fermer.

Configurer une stratégie de redirection de cache avec une expression composée à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Redirection du cache > Stratégies.

  2. Dans le volet d’informations, cliquez sur Ajouter.

  3. Dans la zone de texte Nom, saisissez un nom pour la stratégie.

    Le nom peut commencer par une lettre, un chiffre ou le symbole de soulignement, et peut comprendre de 1 à 127 lettres, chiffres et les symboles tiret (-), point (.), livre (#), espace (), at (@), égal (=) et trait de soulignement (_). Vous devez choisir un nom qui permettra aux autres utilisateurs de savoir facilement quel type de contenu cette stratégie a été créée pour détecter.

  4. Choisissez le type d’expression composée que vous souhaitez créer. Vos choix sont les suivants :

    • Faites correspondre n’importe quelle expression. La stratégie correspond au trafic si une ou plusieurs expressions individuelles correspondent au trafic.

    • Faites correspondre toutes les expressions. La stratégie ne correspond au trafic que si chaque expression individuelle correspond au trafic.

    • Expressions tabulaires. Permet de basculer la liste Expressions au format tabulaire avec trois colonnes. Dans la colonne la plus à droite, vous placez l’un des opérateurs suivants :

      • L’opérateur AND [ && ], pour exiger que, pour correspondre à la stratégie, une demande doit correspondre à la fois à l’expression actuelle et à l’expression suivante.
      • L’opérateur OR [   ], pour exiger que, pour correspondre à la stratégie, une demande doit correspondre soit à l’expression actuelle, soit à l’expression suivante, soit aux deux. Ce n’est que si la demande ne correspond pas à l’une ou l’autre des expressions qu’elle ne correspond pas à la stratégie.

      Vous pouvez également regrouper des expressions dans des sous-groupes imbriqués en sélectionnant une expression existante et en cliquant sur l’un des opérateurs suivants :

      • L’opérateur BEGIN SUBGROUP [+ (opérateur) ], qui indique à l’appliance Citrix ADC de commencer un sous-groupe imbriqué avec l’expression sélectionnée. (Pour supprimer cet opérateur de l’expression, cliquez sur - (.)
      • L’opérateur END SUBGROUP [+) ], qui indique à l’appliance Citrix ADC de mettre fin au sous-groupe imbriqué actuel avec l’expression sélectionnée. (Pour supprimer cet opérateur de l’expression, cliquez sur -).)
    • Forme libre avancée. Désactive complètement l’éditeur d’expressions et transforme la liste Expressions en une zone de texte dans laquelle vous pouvez taper une expression composée. Il s’agit à la fois de la méthode la plus puissante et la plus difficile pour créer une expression de stratégie, et n’est recommandée que pour ceux qui connaissent parfaitement le langage des expressions classiques Citrix ADC.

      Pour plus d’informations sur la création d’expressions classiques dans la zone de texte de forme libre avancée, reportez-vous à la section Configuration des politiques et expressions classiques.

      Attention : Si vous passez en mode avancé d’édition d’expression de forme libre, vous ne pouvez pas revenir à aucun des autres modes. Ne choisissez pas ce mode d’édition d’expression, sauf si vous êtes sûr de vouloir l’utiliser.

  5. Si vous avez choisi Correspondance à n’importe quelle expression, Correspondance à toutes les expressions ou Expressions tabulaires, cliquez sur Ajouter pour afficher la boîte de dialogue Ajouter une expression.

    Vous devez laisser le type d’expression défini sur Général pour les stratégies de redirection du cache.

  6. Dans la liste déroulante Type de flux, choisissez un type de flux pour votre expression.

    Le type de flux détermine si la stratégie examine les connexions entrantes ou sortantes. Deux choix s’offrent à vous :

    • REQ. Configure l’appliance Citrix ADC pour examiner les connexions entrantes ou les demandes.
    • RES. Configure la solution matérielle-logicielle pour qu’elle examine les connexions sortantes ou les réponses.
  7. Dans la liste déroulante Protocole, choisissez un protocole pour votre expression.

    Le protocole détermine le type d’informations que la stratégie examine dans la demande ou la réponse. Selon que vous avez choisi REQ ou RES dans la liste déroulante précédente, les quatre ou seulement trois des options suivantes sont disponibles :

    • HTTP. Configure la solution matérielle-logicielle pour qu’elle examine l’en-tête HTTP.
    • SSL. Configure le dispositif pour qu’il examine le certificat client SSL. Disponible uniquement si vous avez choisi REQ (requêtes) dans la liste déroulante précédente.
    • TCP. Configure la solution matérielle-logicielle pour qu’elle examine l’en-tête TCP.
    • IP. Configure la solution matérielle-logicielle pour qu’elle examine l’adresse IP source ou de destination.
  8. Sélectionnez un qualificatif pour votre expression dans la liste déroulante Qualificatif.

    Le contenu de la liste déroulante Qualificatif dépend du protocole que vous avez choisi. Le tableau suivant décrit les choix disponibles pour chaque protocole.

    Tableau 1. Qualificateurs de stratégie de redirection de cache disponibles pour chaque protocole

    Protocole Qualificatif Définition
    HTTP METHOD Méthode HTTP utilisée dans la demande.
    - URL Contenu de l’en-tête de l’URL.
    - URLTOKENS Jetons d’URL dans l’en-tête HTTP.
    - VERSION Version HTTP de la connexion.
    - HEADER Partie d’en-tête de la requête HTTP.
    - URLLEN Longueur du contenu de l’en-tête de l’URL.
    - URLQUERY Partie de requête du contenu de l’en-tête de l’URL.
    - URLQUERYLEN Longueur de la partie de requête de l’en-tête de l’URL.
    SSL CLIENT.CERT Certificat client SSL dans son ensemble.
    - CLIENT.CERT.SUBJECT Contenu du champ Objet du certificat client.
    - CLIENT.CERT.ISSUER Émetteur de certificat client.
    - CLIENT.CERT.SIGALGO Algorithme de signature utilisé dans le certificat client.
    - CLIENT.CERT.VERSION Version du certificat client.
    - CLIENT.CERT.VALIDFROM Date à partir de laquelle le certificat client est valide. (La date de début.)
    - CLIENT.CERT.VALIDTO Date après laquelle le certificat client n’est plus valide. (La date de fin.)
    - CLIENT.CERT.SERIALNUMBER Numéro de série du certificat client.
    - CLIENT.CIPHER.TYPE Méthode de chiffrement utilisée dans le certificat client.
    - CLIENT.CIPHER.BITS Nombre de bits significatifs dans la clé de chiffrement.
    - CLIENT.SSL.VERSION Version SSL du certificat client.
    TCP SOURCEPORT Port source de la connexion TCP.
    - DESTPORT Port de destination de la connexion TCP.
    - MSS Taille de segment maximale (MSS) de la connexion TCP.
    Adresse IP SOURCEIP Adresse IP source de la connexion.
    - DESTIP Adresse IP de destination de la connexion.
  9. Sélectionnez l’opérateur de votre expression dans la liste déroulante Opérateur.

    Vos choix dépendent du qualificatif choisi à l’étape précédente. La liste complète des opérateurs pouvant apparaître dans cette liste déroulante est la suivante :

    • == . Correspond exactement à la chaîne de texte suivante.
    • != . Ne correspond pas à la chaîne de texte suivante.
    • . Est supérieur au nombre entier suivant.

    • CONTAINS . Contient la chaîne de texte suivante.
    • CONTENTS . Le contenu de l’en-tête, de l’URL ou de la requête URL désignés.
    • EXISTS . L’en-tête ou la requête spécifiés existe.
    • NOTCONTAINS . Ne contient pas la chaîne de texte suivante.
    • NOTEXISTS . L’en-tête ou la requête spécifiés n’existe pas.

    Si vous souhaitez que cette stratégie s’applique aux demandes envoyées à un hôte spécifique, vous pouvez laisser le signe par défaut, le signe égal (==).

  10. Si la zone de texte Valeur est visible, tapez la chaîne ou le nombre approprié dans la zone de texte.

    Par exemple, si vous souhaitez que cette stratégie sélectionne les demandes envoyées à l’hôte shopping.example.com, vous devez taper cette chaîne dans la zone de texte Valeur.

  11. Si vous avez choisi HEADER comme qualificatif, tapez l’en-tête souhaité dans la zone de texte Header Name (Nom de l’en-tête).

  12. Cliquez sur OK pour ajouter votre expression à la liste Expression.

  13. Répétez les étapes 4 à 11 pour créer des expressions supplémentaires.

  14. Cliquez sur Fermer pour fermer la boîte de dialogue Ajouter une expression et revenir à la boîte de dialogue Créer une stratégie de redirection de cache.