ADC

persistencia de cookies HTTP

Cuando se configura la persistencia de cookies HTTP, el dispositivo Citrix ADC 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 seleccionado 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 Citrix ADC 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 Citrix ADC 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 del servicio y el puerto de 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 Citrix ADC 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 Citrix ADC no especifica un tiempo de caducidad, sino que establece una cookie de sesión que no se guarda cuando se cierra el explorador del cliente.

De forma predeterminada, el dispositivo Citrix ADC establece las cookies HTTP versión 0 para obtener la máxima compatibilidad con los exploradores cliente. (Solo ciertos proxies HTTP entienden las cookies de la versión 1; los exploradores más utilizados no.) Puede configurar el dispositivo para que establezca cookies HTTP versión 1, para cumplir con RFC2109. Para las cookies de la versión 0 de HTTP, el dispositivo inserta la fecha y hora de caducidad de la cookie como una hora universal coordinada (GMT) absoluta. Calcula este valor como la suma de la hora GMT actual en el dispositivo y el valor de tiempo de espera. Para las cookies HTTP versión 1, el dispositivo inserta un tiempo de caducidad relativo estableciendo el 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 el símbolo del sistema, 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 build 55.8, puede cifrar la cookie además de cualquier cifrado SSL.

set lb parameter -UseEncryptedPersistenceCookie ENABLED -cookiePassphrase test
<!--NeedCopy-->
  1. Vaya a Gestión del tráfico > Cambiar parámetros de equilibrio de carga y seleccione Codificar valores de cookies de persistencia e introduzca una frase de contraseña en la frase de contraseña de Cookie.
persistencia de cookies HTTP