Lier des stratégies à l’aide d’une stratégie avancée

Après avoir défini une stratégie, vous indiquez quand la stratégie doit être invoquée en liant la stratégie à un point de liaison et en spécifiant un niveau de priorité. Vous pouvez lier une stratégie à un seul point de liaison. Un point de liaison peut être global, c’est-à-dire qu’il peut s’appliquer à tous les serveurs virtuels que vous avez configurés. Ou bien, un point de liaison peut être spécifique à un serveur virtuel particulier, qui peut être soit un serveur virtuel d’équilibrage de charge, soit un serveur virtuel de commutation de contenu. Tous les points de liaison ne sont pas disponibles pour toutes les entités.

L’ordre dans lequel les stratégies sont évaluées détermine l’ordre dans lequel elles sont appliquées, et les fonctions évaluent généralement les différentes banques de stratégies dans un ordre particulier. Parfois, cependant, d’autres caractéristiques peuvent affecter l’ordre d’évaluation. Dans une banque de stratégies, l’ordre d’évaluation dépend des valeurs des paramètres configurés dans les stratégies. La plupart des fonctionnalités appliquent toutes les actions associées aux stratégies dont l’évaluation donne lieu à une correspondance avec les données en cours de traitement. La fonction de mise en cache intégrée est une exception.

Différences spécifiques aux fonctionnalités dans les liaisons de stratégies

Vous pouvez lier des stratégies à des points de liaison globaux intégrés (ou des banques), à des serveurs virtuels ou à des étiquettes de stratégie.

Toutefois, les fonctionnalités de Citrix ADC diffèrent en termes de types de liaisons disponibles. Le tableau suivant récapitule la façon dont vous utilisez les liaisons de stratégie dans diverses fonctionnalités Citrix ADC qui utilisent des stratégies.

Nom de la fonctionnalité Serveurs virtuels configurés dans la fonctionnalité Stratégies configurées dans la fonction Points de liaison configurés pour les stratégies Utilisation des stratégies dans la fonction
DNS aucun Stratégies DNS Global Pour déterminer comment effectuer la résolution DNS pour les demandes.
Changement de contenu (Remarque : cette fonctionnalité peut prendre en charge les stratégies classiques ou avancées, mais pas les deux.) Commutation de contenu (CS) Stratégies de changement de contenu Serveur virtuel de commutation de contenu ou de redirection de cache ; étiquette de stratégie Déterminer quel serveur ou groupe de serveurs est responsable de la réception des réponses, en fonction des caractéristiques d’une demande entrante. Les caractéristiques de la demande incluent le type de périphérique, la langue, les cookies, la méthode HTTP, le type de contenu et le serveur de cache associé.
Mise en cache intégrée aucun Stratégies de mise en cache Remplacement global, Valeur par défaut globale, étiquette de stratégie, équilibrage de charge, commutation de contenu ou serveur virtuel de déchargement SSL Déterminer si les réponses HTTP peuvent être stockées et servies à partir du cache intégré de l’appliance Citrix ADC.
Répondeur aucun Stratégies de répondeur Remplacement global, Valeur par défaut globale, étiquette de stratégie, équilibrage de charge, commutation de contenu ou serveur virtuel de déchargement SSL Pour configurer le comportement de la fonction Responder.
Réécrire aucun Réécrire les stratégies Remplacement global, Valeur par défaut globale, étiquette de stratégie, équilibrage de charge, commutation de contenu ou serveur virtuel de déchargement SSL Pour identifier les données HTTP que vous souhaitez modifier avant de servir. Les stratégies fournissent des règles pour la modification des données. Par exemple, vous pouvez modifier les données HTTP pour rediriger une demande vers un serveur sélectionné en fonction de l’adresse de la demande entrante, ou pour masquer les informations du serveur dans une réponse à des fins de sécurité.
Fonction Transformation d’URL dans la fonction Réécriture aucun Stratégies de transformation Remplacer globalement, Valeur par défaut globale, Étiquette de stratégie Identifier les URL dans les transactions HTTP et les fichiers texte afin d’évaluer si une URL doit être modifiée.
Citrix Gateway (fonctions VPN sans client uniquement) Serveur VPN Stratégies d’accès sans client VPN Global, serveur VPN Déterminer comment Citrix Gateway effectue l’authentification, l’autorisation, l’audit et d’autres fonctions, et définir des règles de réécriture pour l’accès Web général à l’aide de Citrix Gateway.

Lier les points et l’ordre d’évaluation

Pour qu’une stratégie prenne effet, vous devez vous assurer qu’elle est appelée à un moment donné pendant le traitement. Pour ce faire, vous associez la stratégie à un point de liaison. La collection de stratégies qui est liée à un point de liaison est connue sous le nom de banque de stratégies.

Voici les points de liaison que Citrix ADC évalue, répertoriés dans l’ordre d’évaluation typique dans une banque de stratégies

  1. Remplacer l’heure de la requête. Lorsqu’une demande passe par une fonctionnalité, Citrix ADC évalue d’abord les stratégies de remplacement au moment de la demande pour la fonctionnalité.
  2. Serveur virtuel d’équilibrage de charge au moment de la demande. Si l’évaluation des stratégies ne peut pas être effectuée après l’évaluation de toutes les stratégies de remplacement au moment de la demande, Citrix ADC traite les stratégies au moment de la demande pour les serveurs virtuels d’équilibrage de charge.
  3. Serveur virtuel de commutation de contenu au moment de la demande. Si l’évaluation de stratégie ne peut pas être effectuée après l’évaluation de toutes les stratégies de temps de demande pour les serveurs virtuels d’équilibrage de charge, Citrix ADC traite les stratégies de temps de demande pour les serveurs virtuels de commutation de contenu.
  4. Valeur par défaut de l’heure de la requête. Si l’évaluation de stratégie ne peut pas être effectuée après l’évaluation de toutes les stratégies spécifiques au serveur virtuel au moment de la demande, le Citrix ADC traite les stratégies avancées au moment de la demande.
  5. Remplacer le temps de réponse. Au moment de réponse, Citrix ADC commence par des stratégies qui sont liées au point de liaison de remplacement du temps de réponse.
  6. Serveur virtuel d’équilibrage de charge en temps de réponse. Si l’évaluation des stratégies ne peut pas être effectuée après l’évaluation de toutes les stratégies de remplacement du temps de réponse, Citrix ADC traite les stratégies de temps de réponse pour les serveurs virtuels d’équilibrage de charge.
  7. Serveur virtuel de commutation de contenu en temps de réponse. Si l’évaluation de stratégie ne peut pas être effectuée après que toutes les stratégies ont été évaluées pour les serveurs virtuels d’équilibrage de charge, Citrix ADC traite les stratégies de temps de réponse pour les serveurs virtuels de commutation de contenu.
  8. Temps de réponse par défaut. Si l’évaluation de stratégie ne peut pas être effectuée après que toutes les stratégies spécifiques au serveur virtuel ont été évaluées, Citrix ADC traite les stratégies avancées en temps de réponse.

Évaluation des stratégies pour toutes les fonctionnalités

En plus de s’occuper de l’évaluation des stratégies au sein d’une fonctionnalité, si vous avez des stratégies liées à un serveur virtuel de commutation de contenu, notez que ces stratégies sont évaluées avant d’autres stratégies. La liaison d’une stratégie à un serveur de commutation de contenu produit un résultat différent dans les versions 9.0.x et ultérieures de Citrix ADC que dans les versions 8.x. Dans Citrix ADC 9.0 et versions ultérieures, l’évaluation se produit comme suit :

  • Les stratégies de changement de contenu sont évaluées avant d’autres stratégies. Si une stratégie de commutation de contenu est évaluée à TRUE, le vserver d’équilibrage de charge cible est sélectionné.
  • Si toutes les stratégies de commutation de contenu sont évaluées à FALSE, le vserver d’équilibrage de charge par défaut sous le VIP de commutation de contenu est sélectionné.

Une fois qu’un serveur d’équilibrage de charge cible est sélectionné par le processus de commutation de contenu, les stratégies sont évaluées dans l’ordre suivant :

  1. Stratégies liées au point de liaison de remplacement global.
  2. Stratégies liées au vserver d’équilibrage de charge par défaut.
  3. Stratégies liées au vserver de commutation de contenu cible.
  4. Stratégies liées au point de liaison global par défaut.

Pour vous assurer que les stratégies sont évaluées dans l’ordre prévu, suivez les lignes directrices suivantes :

  • Assurez-vous que l’équilibrage de charge vserver par défaut n’est pas directement accessible depuis l’extérieur ; par exemple, l’adresse IP vserver peut être 0.0.0.0.
  • Pour éviter l’exposition de données internes sur le serveur vserver par défaut d’équilibrage de charge, configurez une stratégie pour répondre avec un statut « 503 Service non disponible » et liez-la au serveur d’équilibrage de charge par défaut.

Entrées dans une banque de polices

Chaque entrée d’une banque de polices a, au minimum, une stratégie et un niveau de priorité. Vous pouvez également configurer des entrées qui modifient l’ordre d’évaluation basé sur la priorité et vous pouvez configurer des entrées qui appellent des banques de stratégies externes.

Le tableau suivant récapitule chaque entrée d’une banque de stratégies.

Nom de la stratégie Priorité Expression Goto Type d’invocation Banque de stratégies à invoquer
Le nom de la stratégie, ou une stratégie « fictive » nommée NOPOLICY. L’entrée NOPOLICY contrôle le flux d’évaluation sans traiter de règle. Un entier. Facultatif. Identifie la prochaine stratégie de la banque à évaluer, ou met fin à toute autre évaluation Facultatif. Indique qu’une banque de stratégies externe sera appelée. Ce champ restreint les choix à une étiquette de stratégie globale ou à un serveur virtuel. Facultatif. Utilisé avec le type d’invocation. Il s’agit de l’étiquette d’une banque de stratégies ou d’un nom de serveur virtuel. Citrix ADC revient à la banque actuelle après le traitement de la banque externe.

Si la stratégie est évaluée à TRUE, Citrix ADC stocke l’action associée à la stratégie. Si la stratégie est évaluée à FALSE, Citrix ADC évalue la stratégie suivante. Si la stratégie n’est ni TRUE ni FALSE, Citrix ADC utilise l’action Undef (non définie) associée.

Ordre d’évaluation au sein d’une banque de stratégie

Dans une banque de stratégies, l’ordre d’évaluation dépend des éléments suivants :

  • Une priorité.

    La quantité minimale d’informations sur l’ordre d’évaluation est un niveau de priorité numérique. Plus le nombre est faible, plus la priorité est élevée.

  • Une expression Goto.

    Si elle est fournie, l’expression Goto indique la stratégie suivante à évaluer, généralement dans la même banque de stratégies. Les expressions Goto ne peuvent avancer que dans une banque. Pour éviter le bouclage, une configuration de banque de stratégies n’est pas valide si une instruction Goto pointe en arrière dans la banque.

  • Invocation d’autres banques de stratégies.

    Toute entrée peut appeler une banque de stratégies externe. Citrix ADC fournit une entité intégrée nommée NOPOLICY qui n’a pas de règle. Vous pouvez ajouter une entrée NOPOLICY dans une banque de stratégies lorsque vous souhaitez appeler une autre banque de stratégies, mais que vous ne souhaitez pas traiter d’autres règles avant l’invocation. Vous pouvez avoir plusieurs entrées NOPOLICY dans plusieurs banques de stratégies.

Les valeurs d’une expression Goto sont les suivantes :

  • NEXT.

    Ce mot-clé sélectionne la stratégie avec le niveau de priorité supérieur suivant dans la banque de stratégies actuelle.

  • Un entier.

    Si vous fournissez un entier, il doit correspondre au niveau de priorité d’une autre stratégie dans la banque de stratégies en cours.

  • END.

    Ce mot-clé arrête l’évaluation après le traitement de la stratégie actuelle, et aucune stratégie supplémentaire dans cette banque n’est traitée.

  • Vide.

    Si l’expression Goto est vide, c’est la même chose que de spécifier END.

  • Une expression numérique.

    Il s’agit d’une expression de stratégie avancée qui se résout en un numéro de priorité pour une autre stratégie de la banque actuelle.

  • USE_INVOCATION_RESULT.

    Cette expression ne peut être utilisée que si vous appelez une banque de stratégies externe. La saisie de cette phrase entraîne l’exécution de l’une des actions suivantes par Citrix ADC :

    • Si le Goto final dans la banque de stratégies invoquée a la valeur END ou est vide, le résultat de l’invocation est END et l’évaluation s’arrête.
    • Si l’expression Goto finale dans la banque de stratégies invoquée est autre que END, Citrix ADC exécute un NEXT.

Le tableau suivant illustre une banque de stratégies qui utilise des instructions Goto et des appels de banque de stratégies.

Nom de la stratégie Priorité Goto Invocation Banque de stratégies à invoquer
ClientCertificatePolicy (règle : la demande contient-elle un certificat client ?) 100 300 Aucun Aucun
SubnetPolicy (règle : le client provient-il d’un sous-réseau privé ?) 200 NEXT Aucun Aucun
NOPOLICY 300 USE INVOCATION RESULT Demande vserver My_Request_VServer
NOPOLICY 350 USE INVOCATION RESULT Étiquette de stratégie My_Policy_Label
WorkingHoursPolicy (règle : s’agit-il d’heures de travail ?) 400 END Aucun Aucun

Tableau 3. Exemple d’une banque de stratégies qui utilise des appels Gotos et des appels de banque externe

Fin de l’évaluation des stratégies

L’évaluation d’une banque de stratégies prend fin lorsque l’un des éléments suivants a lieu :

  • Une stratégie est évaluée à TRUE et sa valeur d’instruction Goto est END.

    Aucune autre stratégie ou banque de stratégies dans cette fonctionnalité n’est évaluée.

  • Une banque de stratégies externe est appelée, son évaluation renvoie un END et l’instruction Goto utilise une valeur USE_INVOCATION_RESULT ou END.

    L’évaluation se poursuit avec la prochaine banque de stratégies pour cette fonctionnalité. Par exemple, si la banque actuelle est la banque de remplacement au moment de la demande, Citrix ADC évalue ensuite les banques de stratégies au moment de la demande pour les serveurs virtuels.

  • Citrix ADC a parcouru toutes les banques de stratégies de cette fonctionnalité, mais n’a pas rencontré de END.

    S’il s’agit de la dernière entrée à être évaluée dans cette banque de stratégies, Citrix ADC passe à la fonctionnalité suivante.

Utilisation des actions par les entités après l’évaluation de la stratégie

Après avoir évalué toutes les stratégies pertinentes pour un point de données particulier (par exemple, une requête HTTP), Citrix ADC stocke toutes les actions associées à une stratégie correspondant aux données.

Pour la plupart des fonctionnalités, toutes les actions des stratégies correspondantes sont appliquées à un paquet de trafic lorsqu’il quitte Citrix ADC. La fonction de mise en cache intégrée n’applique qu’une seule action : CACHE ou NOCACHE. Cette action est associée à la stratégie ayant la valeur de priorité la plus faible dans la banque de stratégies « priorité la plus élevée » (par exemple, les stratégies de remplacement au moment de la requête sont appliquées avant les stratégies spécifiques au serveur virtuel).