Configurar la persistencia basada en reglas definidas por el usuario

Cuando se configura la persistencia basada en reglas, el dispositivo Citrix ADC crea una sesión de persistencia basada en el contenido de la regla coincidente antes de dirigir la solicitud al servicio seleccionado por el método de equilibrio de carga configurado. Posteriormente, dirige todas las solicitudes que coinciden con la regla al mismo servicio. Puede configurar la persistencia basada en reglas para servicios de tipo HTTP, SSL, RADIUS, ANY, TCP y SSL_TCP.

La persistencia basada en reglas requiere una expresión de sintaxis clásica o predeterminada. Puede utilizar una expresión clásica para evaluar encabezados de solicitud o puede utilizar una expresión de sintaxis predeterminada para evaluar encabezados de solicitud, datos de formularios web en una solicitud, encabezados de respuesta o cuerpos de respuesta. Por ejemplo, podría utilizar una expresión clásica para configurar la persistencia basada en el contenido del encabezado HTTP Host. También puede utilizar una expresión de sintaxis predeterminada para configurar la persistencia basada en la información de sesión de aplicación en una cookie de respuesta o encabezado personalizado. Para obtener más información sobre la creación y el uso de expresiones de sintaxis clásicas y predeterminadas, consulte Directivas y expresiones.

Las expresiones que puede configurar dependen del tipo de servicio para el que está configurando la persistencia basada en reglas. Por ejemplo, determinadas expresiones específicas de RADIUS no están permitidas para protocolos distintos de RADIUS, y las expresiones basadas en opciones TCP no están permitidas para tipos de servicio distintos del tipo CUALQUIER. Para los tipos de servicio TCP y SSL_TCP, puede utilizar expresiones que evalúen datos de protocolo TCP/IP, datos de capa 2, opciones TCP y cargas útiles TCP.

Nota: Para ver un caso de uso que implica configurar la persistencia basada en reglas sobre la base de datos del protocolo Financial Information Exchange (“FIX”) transmitidos a través de TCP, consulte Configuración de la persistencia basada en reglas basada en un par nombre-valor en una secuencia de bytes TCP.

La persistencia basada en reglas se puede utilizar para mantener la persistencia con entidades como dispositivos de repetidor de rama, complementos de repetidor de rama, servidores de caché y servidores de aplicaciones.

Nota: En un servidor virtual CUALQUIER, no puede configurar la persistencia basada en reglas para las respuestas.

Para configurar la persistencia basada en una regla definida por el usuario, primero debe configurar la persistencia como se describe en Configuración de tipos de persistencia que no requieren una regla y establecer el tipo de persistencia como regla. A continuación, realice los procedimientos que se indican a continuación. Puede configurar la persistencia basada en reglas mediante la utilidad de configuración o la CLI.

Para configurar la persistencia basada en reglas definidas por el usuario mediante la CLI

En el símbolo del sistema, escriba:

set lb vserver <vserverName> [-rule <expression>][-resRule <expression>]

Ejemplo:

set lb vserver vsvr_name –rule http.req.header("cookie").value(0).typecast_nvlist_t('=',';').value("server")

set lb vserver vsvr_name –resrule http.res.header("set-cookie").value(0).typecast_nvlist_t('=',';').value("server")

Para configurar la persistencia basada en reglas definidas por el usuario mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y abra el servidor virtual.
  2. En la sección Persistencia, elija el tipo de persistencia que cumpla con sus requisitos. El tipo de persistencia más adecuado para el servidor virtual está disponible como botones de opción. En la lista Otros se pueden seleccionar otros tipos de persistencia aplicables al tipo de servidor virtual específico.

Imagen localizada

Nota

Antes de NetScaler versión 12.0 compilación 56.20, todos los tipos de persistencia están disponibles en una sola lista desplegable Persistencia sin botones de opción.

Ejemplo: Expresión clásica para una carga útil de solicitud

La siguiente expresión clásica crea una sesión de persistencia basada en la presencia de un encabezado HTTP User-Agent que contiene la cadena, “MyBrowser”, y dirige cualquier solicitud de cliente posterior que contenga este encabezado y cadena al mismo servidor que se seleccionó para la solicitud inicial.

encabezado http User-Agent contiene MyBrowser

Ejemplo: Expresión de sintaxis predeterminada para un encabezado de solicitud

La siguiente expresión de sintaxis predeterminada hace exactamente lo mismo que la expresión clásica anterior.

HTTP.REQ.HEADER (“User-Agent”) .CONTIENE (“MyBrowser”)

La siguiente expresión examina las respuestas para las cookies de “servidor” y, a continuación, dirige cualquier solicitud que contenga esa cookie al mismo servidor que se seleccionó para la solicitud inicial.

HTTP.RES.HEADER(“SET-COOKIE”).VALUE(0).TYPECAST_NVLIST_T(‘=’,’;’).VALUE(“server”)