ADC

Persistance des cookie HTTP

Lorsque la persistance des cookies HTTP est configurée, l’appliance NetScaler définit un cookie dans les en-têtes HTTP de la demande initiale du client. Le cookie contient l’adresse IP et le port du service sélectionné par l’algorithme d’équilibrage de charge. Comme pour toute connexion HTTP, le client inclut ensuite ce cookie dans toutes les demandes ultérieures.

Lorsque l’appliance NetScaler détecte le cookie, elle transmet la demande à l’adresse IP du service et au port contenus dans le cookie, préservant ainsi la persistance de la connexion. Vous pouvez utiliser ce type de persistance avec des serveurs virtuels de type HTTP ou HTTPS. Ce type de persistance ne consomme pas de ressources d’appliance et peut donc accueillir un nombre illimité de clients persistants.

Remarque : Si le navigateur Web du client est configuré pour refuser les cookies, la persistance basée sur les cookies HTTP ne fonctionne pas. Il peut être conseillé de configurer une vérification des cookie sur le site Web et d’avertir les clients qui ne semblent pas stocker correctement les cookies qu’ils doivent activer les cookies pour le site Web s’ils souhaitent les utiliser.

Le format du cookie que l’appliance NetScaler insère est le suivant :

NSC_XXXX=<ServiceIP ><ServicePort>

Où :

  • NSC_XXXX est l’ID du serveur virtuel dérivé du nom du serveur virtuel.
  • ServiceIP et ServicePort sont des représentations codées de l’adresse IP et du port du service, respectivement. L’adresse IP et le port sont codés séparément.

Vous pouvez définir une valeur de délai d’attente pour ce type de persistance afin de spécifier une période d’inactivité pour la session. Lorsque la connexion est restée inactive pendant la période spécifiée, l’appliance NetScaler supprime la session de persistance. Toute connexion ultérieure à partir du même client entraîne la sélection d’un nouveau serveur en fonction de la méthode d’équilibrage de charge configurée et l’établissement d’une nouvelle session de persistance.

Remarque : Si vous définissez la valeur du délai d’expiration sur 0, l’appliance NetScaler ne spécifie pas de délai d’expiration, mais définit un cookie de session qui n’est pas enregistré lorsque le navigateur du client est fermé.

Par défaut, l’appliance NetScaler définit des cookies HTTP version 0 pour une compatibilité maximale avec les navigateurs clients. (Seuls certains proxys HTTP comprennent les cookies de la version 1 ; les navigateurs les plus couramment utilisés ne le comprennent pas.) Vous pouvez configurer l’appliance pour définir des cookies HTTP version 1, conformément à la RFC2109. Pour les cookies HTTP version 0, l’appliance insère la date et l’heure d’expiration du cookie sous forme de temps universel coordonné (GMT) absolu. Il calcule cette valeur comme la somme de l’heure GMT actuelle sur l’appliance et de la valeur du délai d’expiration. Pour les cookies HTTP version 1, l’appliance insère un délai d’expiration relatif en définissant l’attribut « Max-Age » du cookie HTTP. Dans ce cas, le navigateur du client calcule le temps d’expiration réel.

Pour configurer la persistance en fonction d’un cookie inséré par l’appliance, reportez-vous à la section Configuration des types de persistance qui ne nécessitent pas de règle.

Dans le cookie HTTP, l’appliance définit par défaut l’ HTTPOnly indicateur pour indiquer que le cookie n’est pas scriptable et ne doit pas être révélé à l’application cliente. Par conséquent, un script côté client ne peut pas accéder au cookie et le client n’est pas sensible aux scripts intersites.

Cependant, certains navigateurs ne prennent pas en charge l’ HTTPOnly indicateur et, par conséquent, risquent de ne pas renvoyer le cookie. En conséquence, la persistance est brisée. Pour les navigateurs qui ne prennent pas en charge l’indicateur, vous pouvez omettre l’ HTTPOnly indicateur dans le cookie de persistance.

Pour modifier le paramètre d’ HTTPOnly indicateur à l’aide de l’interface de ligne de commande

À l’invite de commande, tapez :

set lb parameter -httpOnlyCookieFlag (ENABLED|DISABLED)
<!--NeedCopy-->

Exemple :

>  set lb parameter -httpOnlyCookieFlag disabled
   Done
> show lb parameter
  Global LB parameters:
       Persistence Cookie HttpOnly Flag: DISABLED
       Use port for hash LB: YES
 Done
<!--NeedCopy-->

Pour modifier le paramètre d’ HTTPOnly indicateur à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > Équilibrage de charge > Configurer les paramètres d’équilibrage de charge, puis sélectionnez ou désactivez l’indicateur HttpOnly Cookie de persistance .

À partir de la version 10.5 build 55.8, vous pouvez crypter le cookie en plus de tout cryptage SSL.

set lb parameter -UseEncryptedPersistenceCookie ENABLED -cookiePassphrase test
<!--NeedCopy-->
  1. Accédez à Gestion du trafic > Modifier les paramètres d’équilibrage de la charge, puis sélectionnez Encoder les valeurs de cookie de persistance et entrez une phrase secrète dans la phrase secrète de cookie .
Persistance des cookie HTTP