ADC

Parámetros 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 que se ha 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 solicitudes ni conexiones nuevas. Una vez transcurrido el período de cierre, se cierran las conexiones existentes. 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 esté limitado por la memoria.

El * en la tabla anterior se hace referencia a lo siguiente:

El motor de paquetes predeterminado es de 250 000 sesiones por núcleo. Para configurar 1 millón de entradas de sesión por motor de paquetes, ejecute el siguiente comando:

set lb parameter -sessionsthreshold <1000000*number of PE>

Para un sistema 3 PE, ejecute el siguiente comando:

set lb parameter -sessionsthreshold 3000000

Tabla 1. Limitaciones en la cantidad de conexiones persistentes simultáneas

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

TypeHeader de persistencia 1 HTTP HTTPS TCP UDP/IP Puente SSL_Bridge
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
Rule NO NO NO
SRCIPDESTIP N/D N/D N/D
DESTIP N/D N/D N/D

Tabla 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 del cliente se dirigen al mismo servidor seleccionado, independientemente del servidor virtual del grupo que reciba la solicitud del cliente. Cuando transcurre el tiempo configurado para la persistencia, se puede seleccionar cualquier servidor virtual del grupo para las solicitudes de clientes entrantes.

Dos tipos de persistencia de uso común son la persistencia basada en cookies y la persistencia basada en los ID de servidor en las URL.

Configurar la persistencia en función de las cookies

Cuando habilita la persistencia basada en cookies, el dispositivo NetScaler agrega una cookie HTTP en el 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 usa para seleccionar el servicio para esas solicitudes. Puede usar este tipo de persistencia en servidores virtuales de tipo HTTP o HTTPS.

El dispositivo NetScaler inserta la cookie <NSC_XXXX>= <ServiceIP> <ServicePort>

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.

Si la opción useEncryptedPersistenceCookie está habilitada, el ADC cifra ServiceIP y ServicePort mediante el algoritmo de hash SHA2 cuando inserta una cookie y la descifra cuando recibe una cookie.

Nota: Si el cliente no tiene permiso para 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 de 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 que se base en las cookies HTTP. Tenga en cuenta lo siguiente:

  • Si se utiliza la versión 0 de la cookie HTTP, el dispositivo NetScaler inserta la hora universal coordinada (GMT) absoluta de la caducidad de la cookie (el atributo expires de la cookie HTTP), calculada como la suma de la hora GMT actual en un dispositivo ADC y el valor del 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 la fecha de caducidad real.

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

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

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

En la línea de comandos, escriba:

set ns param [-cookieversion ( 0 | 1 )]
<!--NeedCopy-->

Ejemplo:

set ns param -cookieversion 1
<!--NeedCopy-->
  1. Ve 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 la 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>
<!--NeedCopy-->

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

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 límite (min), escriba el valor del tiempo de espera (por ejemplo, 2).
  5. Haga clic en Aceptar.
  6. Compruebe que el servidor virtual para el que configuró la persistencia esté correctamente configurado seleccionando el servidor virtual y consultando 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 NetScaler puede mantener la persistencia en función de los ID de servidor en las 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 el puerto se especifica como un número hexadecimal. El ADC extrae el ID del servidor de las solicitudes posteriores del cliente 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 sobre 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 de URL de una solicitud de cliente, después de hacer 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 mientras se pueda extraer el ID del servidor 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 en función de los ID de servidor en las URL y verificar la configuración:

set lb vserver <name> -persistenceType URLPASSIVE

<show lb vserver <name>
<!--NeedCopy-->

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

Para configurar la persistencia en función de 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 límite (min), escriba el valor del tiempo de espera (por ejemplo, 2).
  5. En el cuadro de texto Regla, introduzca 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 Aceptar.
  7. Compruebe que el servidor virtual para el que configuró la persistencia esté correctamente configurado seleccionando el servidor virtual y consultando la sección Detalles en la parte inferior del panel.
Parámetros de persistencia