Configuración de persistencia

Debe configurar la persistencia en un servidor virtual si quiere mantener los estados de las conexiones en los servidores representados por ese servidor virtual (por ejemplo, las conexiones utilizadas en el comercio electrónico). A continuación, el dispositivo utiliza el método de equilibrio de carga configurado para la selección inicial de un servidor, pero reenvía a ese mismo servidor todas las solicitudes posteriores del mismo cliente.

Si se configura la persistencia, anula los métodos de equilibrio de carga una vez seleccionado el servidor. Si la persistencia configurada se aplica a un servicio que está inactivo, el dispositivo utiliza los métodos de equilibrio de carga para seleccionar un nuevo servicio y el nuevo servicio se vuelve persistente para las solicitudes posteriores del cliente. Si el servicio seleccionado está en estado Fuera de servicio, continúa atendiendo las solicitudes pendientes pero no acepta nuevas solicitudes o conexiones. Una vez transcurrido el período de apagado, las conexiones existentes se cierran. En la tabla siguiente se enumeran los tipos de persistencia que puede configurar.

Tipo de persistencia Conexiones persistentes
IP de origen, ID de sesión SSL, regla, DESTIP, SRCIPDESTIP 250K
CookieInsert, URL pasiva, ID de servidor personalizado Límite de memoria. En el caso de CookieInsert, si el tiempo de espera no es 0, se permite cualquier número de conexiones hasta que la memoria esté limitada.

Tabla 1. Limitaciones en el número de conexiones persistentes simultáneas

Si la persistencia configurada no se puede mantener debido a la falta de recursos en un dispositivo, los métodos de equilibrio de carga se utilizan para la selección del servidor. La persistencia se mantiene durante un período de tiempo configurado, dependiendo del tipo de persistencia. Algunos tipos de persistencia son específicos de ciertos servidores virtuales. En la siguiente tabla se muestra la relación.

Persistencia TypeHeader 1 HTTP HTTPS TCP UDP/IP Puente
IP de origen
CookieInsert NO NO NO
ID de sesión SSL NO NO NO
URL Pasiva NO NO NO
ID de servidor personalizado NO NO NO
Regla NO NO NO
SRCIPDESTIP N/D N/D N/D
DESTIP N/D N/D N/D

Cuadro 2. Tipos de persistencia disponibles para cada tipo de servidor virtual

También puede especificar la persistencia para un grupo de servidores virtuales. Cuando habilita la persistencia en el grupo, las solicitudes de cliente se dirigen al mismo servidor seleccionado, independientemente del servidor virtual del grupo que reciba la solicitud de cliente. Cuando transcurra el tiempo configurado para la persistencia, se puede seleccionar cualquier servidor virtual del grupo para las solicitudes de cliente entrantes.

Dos tipos de persistencia de uso común son la persistencia basada en cookies y la persistencia basada en identificadores de servidor en direcciones URL.

Configurar persistencia basada en cookies

Cuando habilita la persistencia basada en cookies, el dispositivo Citrix ADC agrega una cookie HTTP al campo de encabezado Set-Cookie de la respuesta HTTP. La cookie contiene información sobre el servicio al que se deben enviar las solicitudes HTTP. El cliente almacena la cookie y la incluye en todas las solicitudes posteriores, y el ADC la utiliza para seleccionar el servicio para dichas solicitudes. Puede utilizar este tipo de persistencia en servidores virtuales de tipo HTTP o HTTPS.

<ServiceIP> <ServicePort>El dispositivo Citrix ADC inserta la cookie <NSC_XXXX> =

donde:

  • <<NSC_XXXX> es el ID del servidor virtual que se deriva del nombre del servidor virtual.
  • <<ServiceIP> es el valor hexadecimal de la dirección IP del servicio.
  • <<ServicePort> es el valor hexadecimal del puerto del servicio.

El ADC cifra ServiceIP y ServicePort cuando inserta una cookie y los descifra cuando recibe una cookie.

Nota: Si no se permite al cliente almacenar la cookie HTTP, las solicitudes posteriores no tienen la cookie HTTP y no se respeta la persistencia.

De forma predeterminada, el dispositivo ADC envía la cookie HTTP versión 0, de conformidad con la especificación Netscape. También puede enviar la versión 1, de conformidad con RFC 2109.

Puede configurar un valor de tiempo de espera para la persistencia basado en cookies HTTP. Tenga en cuenta lo siguiente:

  • Si se utiliza la cookie HTTP versión 0, el dispositivo Citrix ADC inserta la hora universal coordinada (GMT) absoluta de la caducidad de la cookie (el atributo de caducidad de la cookie HTTP), calculada como la suma de la hora GMT actual en un dispositivo ADC y el valor de tiempo de espera.
  • Si se utiliza una cookie HTTP versión 1, el dispositivo ADC inserta un tiempo de caducidad relativo (atributo Max-Age de la cookie HTTP). En este caso, el software cliente calcula el tiempo de caducidad real.

Nota: La mayoría del software cliente instalado actualmente (exploradores Microsoft Internet Explorer y Netscape) entiende la cookie HTTP versión 0; sin embargo, algunos proxies HTTP entienden la cookie HTTP versión 1.

Si establece el valor de tiempo de espera en 0, el dispositivo ADC no especifica el tiempo de caducidad, independientemente de la versión de la cookie HTTP utilizada. El tiempo de caducidad depende entonces del software cliente, y dichas cookies no son válidas si ese software se apaga. Este tipo de persistencia no consume recursos del sistema. Por lo tanto, puede acomodar un número ilimitado de clientes persistentes.

Un administrador puede cambiar la versión de la cookie HTTP.

En el símbolo del sistema, escriba;

set ns param [-cookieversion ( 0 | 1 )]

Ejemplo:

set ns param -cookieversion 1
  1. Vaya a Sistema > Configuración.
  2. En el panel de detalles, haga clic en Cambiar parámetros HTTP.
  3. En el cuadro de diálogo Configurar parámetros HTTP, en Cookie, seleccione Versión 0 o Versión 1.

Nota: Para obtener información sobre los parámetros, consulte Configurar persistencia basada en cookies.

Para configurar la persistencia basada en cookies mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para configurar la persistencia basada en cookies y verificar la configuración:

set lb vserver <name> -persistenceType COOKIEINSERT

show lb vserver <name>

Ejemplo:

set lb vserver vserver-LB-1 -persistenceType COOKIEINSERT
Done
show lb vserver vserver-LB-1
    vserver-LB-1 (10.102.29.60:80) - HTTP   Type: ADDRESS
    .
    .
    .
    Persistence: COOKIEINSERT (version 0)
    Persistence Timeout: 2 min
    .
    .
    .
 Done

Para configurar la persistencia basada en cookies mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. En el panel de detalles, seleccione el servidor virtual para el que quiere configurar la persistencia (por ejemplo, VServer-LB-1) y, a continuación, haga clic en Abrir.
  3. En el cuadro de diálogo Configurar servidor virtual (equilibrio de carga), en la ficha Método y persistencia, en la lista Persistencia, seleccione COOKIEINSERT.
  4. En el cuadro de texto Tiempo de espera (min), escriba el valor de tiempo de espera (por ejemplo, 2).
  5. Haga clic en OK.
  6. Compruebe que el servidor virtual para el que ha configurado la persistencia está configurado correctamente seleccionando el servidor virtual y viendo la sección Detalles en la parte inferior del panel.

Configurar la persistencia en función de los ID de servidor en las URL

El dispositivo Citrix ADC puede mantener la persistencia en función de los ID de servidor en las direcciones URL. En una técnica llamada persistencia pasiva de URL, el ADC extrae el ID del servidor de la respuesta del servidor y lo incrusta en la consulta de URL de la solicitud del cliente. El ID del servidor es una dirección IP y un puerto especificados como un número hexadecimal. El ADC extrae el ID del servidor de las solicitudes de cliente posteriores y lo utiliza para seleccionar el servidor.

La persistencia pasiva de URL requiere configurar una expresión de carga útil o una expresión de infraestructura de directiva que especifique la ubicación del ID del servidor en las solicitudes de cliente. Para obtener más información acerca de las expresiones, consulte Configuración y referencia de directivas.

Nota: Si el ID del servidor no se puede extraer de las solicitudes del cliente, la selección del servidor se basa en el método de equilibrio de carga.

Ejemplo: Expresión de carga útil

La expresión, URLQUERY contiene sid= configura el sistema para extraer el ID del servidor de la consulta URL de una solicitud de cliente, después de coincidir el token sid=. Por lo tanto, una solicitud con la URL http://www.citrix.com/index.asp?\&sid;=c0a864100050 se dirige al servidor con la dirección IP 10.102.29.10 y el puerto 80.

El valor de tiempo de espera no afecta a este tipo de persistencia, que se mantiene siempre que el ID del servidor se pueda extraer de las solicitudes del cliente. Este tipo de persistencia no consume ningún recurso del sistema, por lo que puede acomodar un número ilimitado de clientes persistentes.

Nota: Para obtener información sobre los parámetros, consulte Equilibrio de carga.

Para configurar la persistencia basada en los ID de servidor en las direcciones URL mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para configurar la persistencia basada en los ID de servidor en las direcciones URL y compruebe la configuración:

set lb vserver <name> -persistenceType URLPASSIVE

<show lb vserver <name>

Ejemplo:

set lb vserver vserver-LB-1 -persistenceType URLPASSIVE
Done
show lb vserver vserver-LB-1
    vserver-LB-1 (10.102.29.60:80) - HTTP   Type: ADDRESS
    .
    .
    .
    Persistence: URLPASSIVE
    Persistence Timeout: 2 min
    .
    .
    .
Done

Para configurar la persistencia basada en los ID de servidor en las URL mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. En el panel de detalles, seleccione el servidor virtual para el que quiere configurar la persistencia (por ejemplo, VServer-LB-1) y, a continuación, haga clic en Abrir.
  3. En el cuadro de diálogo Configurar servidor virtual (equilibrio de carga), en la ficha Método y persistencia, en la lista Persistencia, seleccione URLPASSIVE.
  4. En el cuadro de texto Tiempo de espera (min), escriba el valor de tiempo de espera (por ejemplo, 2).
  5. En el cuadro de texto Regla, escriba una expresión válida. También puede hacer clic en Configurar junto al cuadro de texto Regla y utilizar el cuadro de diálogo Crear expresión para crear una expresión.
  6. Haga clic en OK.
  7. Compruebe que el servidor virtual para el que ha configurado la persistencia está configurado correctamente seleccionando el servidor virtual y viendo la sección Detalles en la parte inferior del panel.