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 fonction d’équilibrage de charge est déconseillée. Cependant, les expressions classiques sont supprimées et ne sont plus disponibles pour la règle de filtrage sur les versions 13.1 et ultérieures de l’appliance Citrix ADC.

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 syntaxique classique ou par défaut. Vous pouvez utiliser une expression classique pour évaluer les en-têtes de demande ou utiliser une expression de syntaxe par défaut pour évaluer les en-têtes de demande, les données de formulaire Web dans 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 syntaxe par défaut pour configurer la persistance en fonction des informations de session d’application 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 syntaxiques classiques et par défaut, consultez 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. Les autres types de persistance applicables au type de serveur virtuel spécifique peuvent être sélectionnés dans la liste Autres .

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 qui contient la chaîne, « MyBrowser », et dirige toutes les demandes clientes 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 syntaxe par défaut pour un en-tête de requête

L’expression syntaxe par défaut 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 aux cookies « serveur », puis dirige toutes les demandes contenant ce cookie vers le même serveur que celui 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