Configurer une stratégie de redirection de 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 pour les stratégies de redirection de cache. Par défaut, l’appliance Citrix ADC considère que toute demande correspondant à une stratégie n’est pas 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 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 n’est pas 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 le plus récent sont appeléesstratégies de redirection avancées. Cette stratégie a un nom et inclut une expression de syntaxe par défaut, ou un ensemble d’expressions de syntaxe par défaut combinées à l’aide d’opérateurs logiques, ainsi que les actions intégrées suivantes :

  • CACHE
  • ORIGINE

Pour plus d’informations sur les expressions classiques et les expressions de syntaxe par défaut, reportez-vous à 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 de cache et vérifier la configuration :

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

Exemples :

Stratégie avec une expression simple :

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

Stratégie avec une expression composée :

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

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

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

Ajouter une stratégie de redirection du cache de syntaxe par défaut à l’aide de l’interface de ligne de commande

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

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

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

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

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

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 tout comme la commande add cr policy, sauf que vous entrez le nom d’une stratégie existante.
  • Pour supprimer une stratégie, utilisez la commande rm cr policy, qui accepte uniquement l’argument <name>. 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, reportez-vous à la section Supprimer la liaison d’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 l’expression. Voici un exemple d’expression qui recherche une extension .jpeg dans une URL :

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

    L’expression simple de l’exemple suivant recherche un en-tête If-Modified-Since dans une requête :

    • Type d’expression - Général
    • Type de flux -REQ
    • Protocole -HTTP
    • Qualificatif -HEADER
    • Opérateur -EXISTS
    • Nom d’en-tête -If-Modified-Since
  5. Lorsque vous avez terminé 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, entrez un nom pour la stratégie.

    Le nom peut commencer par une lettre, un nombre ou le symbole de trait de soulignement, et peut être composé de un à 127 lettres, chiffres et le tiret (-), point (.) livre (#), espace (), at (@), égal (=) et soulignement (_). Vous devez choisir un nom qui facilitera l’identification du type de contenu que 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 :

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

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

    • Expressions tabulaires. Bascule la liste Expressions vers un format tabulaire comportant 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 [+ (,] 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 entièrement l’Éditeur d’expressions et transforme la liste Expressions en 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 Forme libre avancée, reportez-vous à la section Configuration des stratégies et expressions classiques.

      Attention : Si vous passez en mode d’édition d’expression Forme libre avancée, vous ne pouvez pas revenir à l’un 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 Correspondre à une expression, Correspondre à 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. Vous avez deux choix :

    • REQ. Configure l’appliance Citrix ADC pour examiner les connexions entrantes ou les demandes.
    • RES. Configure l’appliance 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 l’appliance pour qu’elle examine l’en-tête HTTP.
    • SSL. Configure l’appliance pour qu’elle examine le certificat client SSL. Disponible uniquement si vous avez choisi REQ (demandes) dans la liste déroulante précédente.
    • TCP. Configure l’appliance pour qu’elle examine l’en-tête TCP.
    • IP. Configure l’appliance pour qu’elle examine l’adresse IP source ou de destination.
  8. Choisissez un qualificatif pour votre expression dans la liste déroulante Qualifier.

    Le contenu de la liste déroulante Qualifier 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 MÉTHODE Méthode HTTP utilisée dans la requête.
    - URL Contenu de l’en-tête 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 URL.
    - URLQUERY Partie de requête du contenu de l’en-tête URL.
    - URLQUERYLEN Longueur de la partie requête de l’en-tête 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. (Date de début.)
    - CLIENT.CERT.VALIDTO Date après laquelle le certificat client n’est plus valide. (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 maximale du segment (MSS) de la connexion TCP.
    Adresse IP SOURCEIP Adresse IP source de la connexion.
    - DESTIP Adresse IP de destination de la connexion.
  9. Choisissez l’opérateur de votre expression dans la liste déroulante Opérateur.

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

    • == . Correspond exactement à la chaîne de texte suivante.
    • != . Ne correspond pas à la chaîne de texte suivante.
    • . Est supérieur à l’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ée.
    • EXISTS . L’en-tête ou la requête spécifié existe.
    • NOTCONTAINS . Ne contient pas la chaîne de texte suivante.
    • NOTEXISTS . L’en-tête ou la requête spécifié n’existe pas.

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

  10. Si la zone de texte Valeur est visible, tapez la chaîne ou le numéro 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, saisissez cette chaîne dans la zone de texte Valeur.

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

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

  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.