Citrix ADC

Configuration de la persistance en fonction de règles définies par l’utilisateur

Avertissement :

L’utilisation d’expressions classiques pour la règle de persistance dans la fonctionnalité d’équilibrage de charge est supprimée et n’est plus disponible pour la règle de filtrage sur l’appliance Citrix ADC version 13.1. Citrix recommande de ne pas utiliser ces expressions de stratégie via l’interface de ligne de commande Citrix ADC, l’interface graphique Citrix ADC ou l’automatisation Nitro. Pour plus d’informations, consultez les tableaux 1 et 2 de la page FAQ sur la dépréciation des stratégies classiques .

Lorsque la persistance basée sur des règles est configurée, l’appliance Citrix ADC crée une session de persistance basée sur le contenu de la règle appariée avant de diriger la demande vers le service sélectionné par la méthode d’équilibrage de charge configurée. Plus tard, il dirige toutes les demandes correspondant à la règle vers le même service. Vous pouvez configurer la persistance basée sur des règles pour les services de type HTTP, SSL, RADIUS, ANY, TCP et SSL_TCP.

La persistance basée sur des règles nécessite une expression de stratégie classique ou avancée. Vous pouvez utiliser une expression classique pour évaluer les en-têtes de demande, ou vous pouvez utiliser une expression de stratégie avancée pour évaluer les en-têtes de demande, les données de formulaire Web d’une demande, les en-têtes de réponse ou les corps de réponse. Par exemple, vous pouvez utiliser une expression classique pour configurer la persistance en fonction du contenu de l’en-tête de l’hôte HTTP. Vous pouvez également utiliser une expression de stratégie avancée pour configurer la persistance en fonction des informations de session d’application contenues dans un cookie de réponse ou un en-tête personnalisé. Pour plus d’informations sur la création et l’utilisation d’expressions de stratégie classiques et avancées, consultez la section Stratégies et expressions.

Les expressions que vous pouvez configurer dépendent du type de service pour lequel vous configurez la persistance basée sur des règles. Par exemple, certaines expressions spécifiques à RADIUS ne sont pas autorisées pour des protocoles autres que RADIUS, et les expressions basées sur des options TCP ne sont pas autorisées pour des types de service autres que le type AUY. Pour les types de service TCP et SSL_TCP, vous pouvez utiliser des expressions qui évaluent les données du protocole TCP/IP, les données de couche 2, les options TCP et les charges utiles TCP.

Remarque : Pour un cas d’utilisation impliquant la configuration de la persistance basée sur des règles basées sur les données du protocole Financial Information ExCHANGE (« FIX ») transmises via TCP, reportez-vous à la section Configuration de la persistance basée sur une paire nom-valeur dans un flux d’octets TCP.

La persistance basée sur des règles peut être utilisée pour maintenir la persistance avec des entités telles que les appliances Citrix SD-WAN, les plug-ins Citrix SD-WAN, les serveurs de cache et les serveurs d’applications.

Remarque : Sur un serveur virtuel ANY, vous ne pouvez pas configurer la persistance basée sur des règles pour les réponses.

Pour configurer la persistance en fonction d’une règle définie par l’utilisateur, vous devez d’abord configurer la persistance comme décrit dans Configuration des types de persistance qui ne nécessitent pas de règle, puis définissez le type de persistance sur RULE. Vous pouvez ensuite effectuer les procédures suivantes. Vous pouvez configurer la persistance basée sur des règles à l’aide de l’utilitaire de configuration ou de l’interface de ligne de commande.

Pour configurer la persistance en fonction de règles définies par l’utilisateur à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set lb vserver <vserverName> [-rule <expression>][-resRule <expression>]
<!--NeedCopy-->

Exemple :

set lb vserver vsvr_name –rule http.req.header("cookie").value(0).typecast_nvlist_t('=',';').value("server")

set lb vserver vsvr_name –resrule http.res.header("set-cookie").value(0).typecast_nvlist_t('=',';').value("server")

<!--NeedCopy-->

Pour configurer la persistance en fonction de règles définies par l’utilisateur à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis ouvrez le serveur virtuel.
  2. Dans la section Persistence, choisissez le type de persistance qui répond à vos besoins. Le type de persistance le plus approprié pour le serveur virtuel est disponible sous forme de boutons d’option. D’autres types de persistance applicables au type de serveur virtuel spécifique peuvent être sélectionnés dans la liste Autres.

Configurer la règle de persistance

Remarque

Avant NetScaler version 12.0 build 56.20, tous les types de persistance sont disponibles dans une seule liste déroulante Persistence sans boutons d’option.

Exemple : Expression classique pour une charge utile de demande

L’expression classique suivante crée une session de persistance basée sur la présence d’un en-tête HTTP User-Agent contenant la chaîne « MyBrowser » et dirige toutes les demandes client ultérieures contenant cet en-tête et cette chaîne vers le même serveur qui a été sélectionné pour la demande initiale.

http header User-Agent contains MyBrowser
<!--NeedCopy-->

Exemple : Expression de stratégie avancée pour un en-tête de demande

L’expression de stratégie avancée suivante fait la même chose que l’expression classique précédente.

HTTP.REQ.HEADER(“User-Agent”).CONTAINS (“MyBrowser”)

L’expression suivante examine les réponses pour les cookies « serveur », puis dirige toutes les demandes contenant ce cookie vers le même serveur qui a été sélectionné pour la demande initiale.

HTTP.RES.HEADER(“SET-COOKIE”).VALUE(0).TYPECAST_NVLIST_T(‘=’,’;’).VALUE(“server”)

Configuration de la persistance en fonction de règles définies par l’utilisateur