ADC

Persistencia cookie HTTP

Cuando se configura la persistencia de las cookies HTTP, el dispositivo NetScaler establece una cookie en los encabezados HTTP de la solicitud inicial del cliente. La cookie contiene la dirección IP y el puerto del servicio seleccionados por el algoritmo de equilibrio de carga. Al igual que con cualquier conexión HTTP, el cliente incluye esa cookie con cualquier solicitud posterior.

Cuando el dispositivo NetScaler detecta la cookie, reenvía la solicitud a la IP del servicio y al puerto de la cookie, manteniendo la persistencia de la conexión. Puede utilizar este tipo de persistencia con servidores virtuales de tipo HTTP o HTTPS. Este tipo de persistencia no consume recursos de dispositivo y, por lo tanto, puede acomodar un número ilimitado de clientes persistentes.

Nota: Si el explorador web del cliente está configurado para rechazar las cookies, la persistencia basada en cookies HTTP no funciona. Puede ser aconsejable configurar una comprobación de cookie en el sitio web y advertir a los clientes que parecen no almacenar cookies correctamente que necesitan habilitar las cookies para el sitio web si desean utilizarlo.

El formato de la cookie que inserta el dispositivo NetScaler es:

NSC_XXXX=<ServiceIP ><ServicePort>

Donde:

  • NSC_XXXX es el ID del servidor virtual que se deriva del nombre del servidor virtual.
  • ServiceIP y ServicePort son representaciones codificadas de la dirección IP y el puerto del servicio, respectivamente. La dirección IP y el puerto se codifican por separado.

Puede establecer un valor de tiempo de espera para este tipo de persistencia para especificar un período de inactividad para la sesión. Cuando la conexión ha estado inactiva durante el período especificado, el dispositivo NetScaler descarta la sesión de persistencia. Cualquier conexión posterior del mismo cliente hace que se seleccione un nuevo servidor basado en el método de equilibrio de carga configurado y se establezca una nueva sesión de persistencia.

Nota: Si establece el valor de tiempo de espera en 0, el dispositivo NetScaler no especifica un tiempo de caducidad, sino que establece una cookie de sesión que no se guarda cuando se cierra el navegador del cliente.

De forma predeterminada, el dispositivo NetScaler establece las cookies HTTP de versión 0 para obtener la máxima compatibilidad con los navegadores de los clientes. (Solo algunos proxies HTTP entienden las cookies de la versión 1; los navegadores más utilizados no lo hacen). Puede configurar el dispositivo para configurar las cookies HTTP de la versión 1, a fin de cumplir con el RFC2109. Para las cookies HTTP versión 0, el dispositivo inserta la fecha y la hora de caducidad de la cookie como hora universal coordinada (GMT) absoluta. Calcula este valor como la suma de la hora GMT actual del dispositivo y el valor del tiempo de espera. Para las cookies HTTP de la versión 1, el dispositivo inserta un tiempo de caducidad relativo mediante la configuración del atributo “Max-Age” de la cookie HTTP. En este caso, el explorador del cliente calcula el tiempo de caducidad real.

Para configurar la persistencia basada en una cookie insertada por el dispositivo, consulte Configuración de tipos de persistencia que no requieren una regla.

En la cookie HTTP, el dispositivo establece de forma predeterminada el HTTPOnly indicador para indicar que la cookie no se puede escribir en scripts y no debe revelarse a la aplicación cliente. Por lo tanto, un script del lado del cliente no puede acceder a la cookie, y el cliente no es susceptible a scripts entre sitios.

Sin embargo, algunos exploradores no admiten el HTTPOnly indicador y, por lo tanto, es posible que no devuelvan la cookie. Como resultado, la persistencia se rompe. En el caso de los exploradores que no admiten el indicador, puede omitir el HTTPOnly indicador en la cookie de persistencia.

Para cambiar la configuración de la HTTPOnly marca mediante la CLI

En la línea de comandos, escriba:

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

Ejemplo:

>  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-->

Para cambiar la configuración de la HTTPOnly marca mediante la GUI

  1. Vaya a Administración del tráfico > Equilibrio de carga > Configurar parámetros de equilibrio de cargay seleccione o desactive la marca Cookie de persistencia HttpOnly .

A partir de la versión 10.5, compilación 55.8, puede cifrar la cookie además de cualquier cifrado SSL.

set lb parameter -UseEncryptedPersistenceCookie ENABLED -cookiePassphrase test
<!--NeedCopy-->
  1. Vaya aAdministración del tráfico>Cambiar los parámetros de equilibrio de carga, seleccioneCodificar valores de cookies de persistencia e introduzca una contraseña en CookiePasshrase.
Persistencia cookie HTTP