Insertar atributos de las饼干generad饼干as por ADC
Los administradores web pueden insertar otros atributos de cookie en las cookies generadas por el dispositivo NetScaler. Estos atributos de cookies adicionales ayudan a aplicar las directivas requeridas para las cookies generadas por ADC en función del patrón de acceso a la aplicación.
Las siguientes funciones utilizan las cookies generadas por el ADC para lograr la persistencia.
- Persistencia de las cookies de equilibrio de carga
- Persistencia de cookies de grupos de equilibrio de carga
- Persistencia del sitio GSLB
- Persistencia de cookies de cambio de contenido
Puede insertar otros atributos de cookie en las cookies generadas por el ADC mediante los siguientes parámetros:
literalADCCookieAttribute:Agregue otros atributos de cookie a la cookie generada por ADC, como cadena.
computedAdcCookieAttribute:utilice una variable ADC ns para anexar condicionalmente atributos de cookie a la cookie generada por ADC, en función de los atributos de cliente o servidor, por ejemplo, la versión del agente de usuario.
Nota
No puede configurar tanto el atributo de cookie ADC literal como el atributo de cookie ADC calculado simultáneamente en el parámetro de equilibrio de carga o en un único perfil de equilibrio de carga.
卡索uso de: configurar el atributo de饼干de SameSite
Cada cookie tiene un dominio asociado. Cuando el dominio de una cookie coincide con el dominio del sitio web en la barra de direcciones del usuario, se considera un contexto del mismo sitio (o propio). Si el dominio asociado a una cookie coincide con un servicio externo y no con el sitio web de la barra de direcciones del usuario, se considera un contexto entre sitios (o de terceros).
El atributoSameSiteindica al navegador si la cookie se puede utilizar para el contexto entre sitios o solo para el contexto del mismo sitio. Además, si se pretende acceder a una aplicación en el contexto entre sitios, solo puede hacerlo a través de la conexión HTTPS. Para obtener más información, consulteRFC6265.
Hasta febrero de 2020, la propiedadSameSiteno se estableció explícitamente en NetScaler. El navegador tomó el valor predeterminado como Ninguno y no afectó a las implementaciones de NetScaler.
罪囚禁go, con la actualización de algunos navegadores, como Google Chrome 80, se produce un cambio en el comportamiento predeterminado entre dominios de las cookies. El atributoSameSitese puede establecer en uno de los siguientes valores. El valor predeterminado para Google Chrome se establece en Lax.
- Ninguna:indica que el navegador debe utilizar una cookie en el contexto de varios sitios solo en conexiones seguras.
- Lax:indica que el explorador debe utilizar una cookie para las solicitudes en el mismo contexto del sitio. En el contexto entre sitios, solo los métodos HTTP seguros como la solicitud GET pueden usar la cookie.
- Estricta:utilice la cookie solo en el contexto del mismo sitio.
Si no hay ningún atributo sameSite en la cookie, Google Chrome asume la funcionalidad de sameSite=LAX.
Nota
Para determinadas versiones de otros exploradores, el valor predeterminado del atributo SameSite podría establecerse enNinguno. En algunas versiones del explorador, “SameSite = none” se puede tratar de manera diferente. Por ejemplo, los siguientes navegadores rechazan una cookie con “SameSite = none”:
- Versiones de Chrome de Chrome 51 a Chrome 66 (incluido en ambos extremos)
- Versiones del explorador UC en Android anteriores a la versión 12.13.2
Configurar cookies generadas por ADC
Para configurar los atributos de las cookie generadas por ADC, debe realizar lo siguiente:
- Crear un servidor virtual de equilibrio de carga
- Configure los atributos de la cookie ADC para el servidor virtual de equilibrio de carga, ya sea mediante los parámetros de LB o el perfil de LB.
- Si usa un perfil LB, defina el perfil LB en un servidor virtual de equilibrio de carga.
- Si decide utilizar el atributo de cookie ADC computado, configure la directiva de reescritura relacionada.
Nota
Si un perfil LB está enlazado a un servidor virtual LB, se tiene en cuenta la configuración del parámetro de perfil en lugar de la configuración global de parámetros LB.
Puede establecer los atributos de cookies generados por ADC mediante los siguientes métodos:
- Configuración de los atributos de cookie ADC en los parámetros de equilibrio de carga
- Configuración de los atributos de cookie ADC en el perfil de equilibrio de carga
Configuración de los atributos de cookie ADC en los parámetros de equilibrio de carga mediante la CLI
Para aplicar una directiva uniformemente a las cookies generadas por ADC de todas las aplicaciones configuradas en el dispositivo NetScaler, puede establecer el atributo cookie ADC en los parámetros LB globales.
La configuraciónLiteral ADC Cookie Atributole permite insertar incondicionalmente los atributos de cookie en la cookie generada por ADC.
En la línea de comandos, escriba:
set lb parameter -LiteralADCCookieAttribute
Ejemplo:
set lb parameter -LiteralADCCookieAttribute SameSite=None
La configuración delatributo de cookie de ADC calculadole permite insertar condicionalmente los atributos de la cookie, en función de los atributos del cliente o del servidor, en la cookie generada por el ADC.
En la línea de comandos, escriba:
set lb parameter -ComputedADCCookieAttribute
Ejemplo:
add ns variable cookieattribute_var -type "text(100)" -scope transaction set lb parameter -ComputedADCCookieAttributE "$cookieattribute_var" add ns assignment samesiteassign -variable "$cookieattribute_var" -set ""SameSite=None"" add policy expression pol_iphone "(HTTP.REQ.HEADER("User-Agent").CONTAINS("iP") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/OS \d+\\_/).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).EQ(12).typecast_text_t ALT "false").eq("true"))" add policy expression pol_chrome "(HTTP.REQ.HEADER("User-Agent").CONTAINS("Chrom") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/Chrom.*\d+./).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).BETWEEN(51,66).typecast_text_t ALT "false").eq("true"))" add rewrite policy exception_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE add rewrite policy append_samesite_attribute true samesiteassign bind rewrite global exception_samesite_attribute 90 110 -type RES_OVERRIDE bind rewrite global append_samesite_attribute 100 110 -type RES_OVERRIDE
Configurar variables mediante la interfaz gráfica de usuario
- Vaya aAppExpert > Variablesy haga clic enAgregar.
En la páginaCrear variable, seleccioneAlcancecomotransacciónyEscribacomotextoen el menú desplegable.
- Introduzca otros detalles y haga clic enCrear.
Crear una asignación mediante la interfaz gráfica de usuario
Tras configurar una variable, puede asignar un valor o especificar la operación que se va a realizar en la variable mediante la creación de una asignación.
- Vaya aAppExpert > Asignacionesy haga clic enAgregar.
En la páginaCrear asignación, introduzca los detalles y haga clic enCrear.
Configuración de los atributos de cookie ADC en los parámetros de equilibrio de carga mediante la GUI
Vaya aGestión de tráfico > Equilibrio de carga > Cambiar parámetros de Equilibrio de carga.
En el panelConfigurar parámetros de equilibrio de carga, introduzca los valores adecuados para cualquiera de los campos según sus requisitos:
- Atributo literal de cookie ADC
- Atributo de cookie ADC calculado
Haga clic enAceptar.
Configuración de los atributos de cookie ADC en el perfil de equilibrio de carga mediante la CLI
Para aplicar una directiva para una aplicación específica configurada en el dispositivo NetScaler, puede establecer los parámetros de atributo de cookie en el perfil LB vinculado al servidor virtual LB específico de la aplicación.
La configuraciónLiteral ADC Cookie Atributoen el perfil LB le permite insertar incondicionalmente los atributos de cookie en la cookie generada por ADC que es específica de un servidor virtual.
En la línea de comandos, escriba:
add lb profile -LiteralADCCookieAttribute
Ejemplo:
add lb profile LB-Vserver-Profile-1 -LiteralADCCookieAttribute SameSite=None add lb vserver LB-VServer-1 SSL 10.102.148.37 443 -persistenceType COOKIEINSERT -lbprofilename LB-Vserver-Profile-1
La configuración delatributo de cookie ADC calculadodel perfil LB le permite insertar condicionalmente los atributos de la cookie en función de los atributos del cliente o del servidor en la cookie generada por el ADC. A continuación, defina este perfil de LB en un servidor virtual de LB.
En la línea de comandos, escriba:
add lb profile -ComputedADCCookieAttribute
Ejemplo:
add ns variable cookieattribute_var -type "text(100)" -scope transaction add ns assignment samesiteassign -variable "$cookieattribute_var" -set ""SameSite=None"" add lb profile LB-Vserver-Profile-1 -ComputedADCCookieAttributE "$cookieattribute_var" add policy expression pol_iphone "(HTTP.REQ.HEADER("User-Agent").CONTAINS("iP") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/OS \d+\\_/).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).EQ(12).typecast_text_t ALT "false").eq("true"))" add policy expression pol_chrome "(HTTP.REQ.HEADER("User-Agent").CONTAINS("Chrom") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/Chrom.*\d+./).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).BETWEEN(51,66).typecast_text_t ALT "false").eq("true"))" add rewrite policy exception_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE add rewrite policy append_samesite_attribute true samesiteassign add lb vserver LB-VServer-1 SSL 10.102.148.37 443 -persistenceType COOKIEINSERT -lbprofilename LB-Vserver-Profile-1 bind lb vserver LB-VServer-1 -policyName exception_samesite_attribute -priority 90 -gotoPriorityExpression 110 -type RESPONSE bind lb vserver LB-VServer-1 -policyName append_samesite_attribute -priority 100 -gotoPriorityExpression 110 -type RESPONSE
Configuración de los atributos Cookie ADC en el perfil de equilibrio de carga mediante la GUI
- Vaya aAdministración del tráfico > Equilibrio de carga > Servidores virtuales.
- Seleccione un servidor virtual y haga clic enModificar.
En la secciónConfiguración avanzada, haz clic enAgregar perfiles.
En la secciónPerfiles, haga clic enAgregarpara crear un perfil de LB.
Si ya ha creado un perfil, selecciónelo en el menú desplegablePerfil de LB.
- En el panelPerfil LB, introduzca los valores adecuados para cualquiera de los campos según su requisito:
- Atributo literal de cookie ADC
Atributo de cookie ADC calculado
- Haga clic enAceptar.
- Configure el perfil LB creado en el servidor virtual LB creado en elpaso 1.
Verificar la configuración de la variable ns
Para comprobar que la variable ns de ADC esté configurada correctamente en los parámetros de LB o en el perfil de LB, utilice los comandos show lb parameter o show lb profile.
En la siguiente tabla se enumeran los distintos mensajes de advertencia y su causa cuando la variable ns no está configurada correctamente.
Mensaje de advertencia | Razones |
---|---|
La variable NS no está configurada. Configúrelo con el tipo text () y el alcance de la transacción para la variable | La variable NS aún no está configurada. |
El alcance de la variable NS configurada no es la transacción. | La variable está configurada, pero el alcance no está establecido en “transacción”. |
El tipo de variable no es Texto (). | La variable está configurada pero el tipo no se establece en “Texto”. |
El英勇maximo configurado对位变量NSmayor que 255. | El valor configurado para la variable NS es superior a 255 caracteres.Nota:Se puede agregar una longitud máxima de 255 caracteres a una cookie generada por ADC. Los caracteres que superen la longitud máxima se truncan. |
Salida de muestra
En el siguiente ejemplo, se muestra el mensaje de advertencia cuando la variable ns no está configurada.
set lb parameter -ComputedADCCookieAttribute "$lbvar" Warning: NS Variable is not configured. Please configure it with type text() and scope transaction Done
El mensaje de advertencia aparece en la siguiente salida del comandoshow lb parameter
.
show lb parameter Global LB parameters: Persistence Cookie HttpOnly Flag: ENABLED Use Encrypted Persistence Cookie: DISABLED Use Port For Hash LB: YES Prefer direct route: YES Retain Service State: OFF Start RR Factor: 0 Skip Maxclient for Monitoring: DISABLED Monitor Connection Close: FIN Use consolidated stats for LeastConnection: YES Allow mac mode based vserver to pick thereturn traffic from services: DISABLED Allow bound service removal: ENABLED TTL for Domain Based Server: 0 secs NetScaler Cookie Variable Name: $lbvar(NS Variable is not configured. Please configure it with type text() and scope transaction) Done
Ejemplo de configuración para insertar atributos de cookie en la implementación de GSLB
El siguiente ejemplo de configuración se aplica a la persistencia del sitio configurada en los servicios GSLB correspondientes a un servidor virtual de LB. Para añadir algunos atributos de cookie adicionales a las cookies de la GSLB, realice la siguiente configuración.
- Configure los atributos de la cookie ADC en el perfil LB (LB-VServer-Profile-1).
- Defina el valor literal del atributo de cookie ADC, por ejemplo, “sameSite=None”, en el perfil LB.
- Configure el perfil LB en el servidor virtual de equilibrio de carga (LB-vServer-1), que representa el servicio GSLB.
add gslb vserver GSLB-VServer-1 SSL -backupLBMethod ROUNDROBIN -tolerance 0 -appflowLog DISABLED add gslb site site1 10.102.148.4 -publicIP 10.102.148.4 add gslb service site1_gsvc1 10.102.148.35 SSL 443 -publicIP 10.102.148.35 -publicPort 443 -maxClient 0 -siteName site1 -sitePersistence HTTPRedirect -sitePrefix ss1 -cltTimeout 180 -svrTimeout 360 -downStateFlush ENABLED bind gslb vserver GSLB-VServer-1 -serviceName site1_gsvc1 bind gslb vserver GSLB-VServer-1 -domainName www.gslb.com -TTL 5 add service service-1 10.102.84.140 SSL 443 add lb profile LB-Vserver-Profile-1 -LiteralADCCookieAttribute SameSite=None add lb vserver LB-VServer-1 SSL 10.102.148.37 443 -persistenceType COOKIEINSERT -lbprofilename LB-Vserver-Profile-1 bind lb vserver LB-VServer-1 service-1
Nota
También puede insertar condicionalmente los atributos de la cookie mediante el atributo de cookie ADC calculado.
Ejemplo de configuración para insertar el atributo de cookie en el despliegue de conmutación de contenido
El siguiente ejemplo de configuración se aplica cuando se alojan varias aplicaciones en un servidor virtual de conmutación de contenido. Para aplicar la misma directiva a todas las aplicaciones, vincule las directivas de reescritura al servidor virtual de conmutación de contenido en lugar del servidor virtual LB, de la siguiente manera:
- Configure los atributos de la cookie ADC en los parámetros de LB.
Nota:
También puede configurar los atributos de la cookie ADC en el perfil LB.
- Configure la variable ns (cookieattribute_var) del tipo establecido en Texto y el alcance establecido en Transacción.
- Configure el atributo de cookie ADC calculado en los parámetros globales de LB mediante la variable ns.
- Establezca las directivas de reescritura(例外n_samesite_attribute y append_samesite_attribute) en los servidores virtuales de conmutación de contenido para insertar los atributos de las cookie.
add ns variable cookieattribute_var -type "text(100)" -scope transaction set lb parameter -ComputedADCCookieAttributE "$cookieattribute_var" add ns assignment samesiteassign -variable "$cookieattribute_var" -set ""SameSite=None"" add policy expression pol_iphone "(HTTP.REQ.HEADER("User-Agent").CONTAINS("iP") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/OS \d+\\_/).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).EQ(12).typecast_text_t ALT "false").eq("true"))" add policy expression pol_chrome "(HTTP.REQ.HEADER("User-Agent").CONTAINS("Chrom") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/Chrom.*\d+./).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).BETWEEN(51,66).typecast_text_t ALT "false").eq("true"))" add rewrite policy exception_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE add rewrite policy append_samesite_attribute true samesiteassign add lb vserver LB-VServer-1 SSL 10.102.148.35 443 add lb vserver LB-VServer-2 SSL 10.102.148.36 443 add cs vserver CS-VServer-1 SSL 10.102.148.42 443 -persistenceType COOKIEINSERT add cs action act1 -targetLBVserver v1 add cs action act2 -targetLBVserver v2 add cs policy CS-policy-1 -rule "HTTP.REQ.URL.CONTAINS("file1.html")" -action act1 add cs policy CS-policy-2 -rule "HTTP.REQ.URL.CONTAINS("file2.html")" -action act2 bind cs vserver CS-VServer-1 -policyName CS-policy-1 -priority 1 bind cs vserver CS-VServer-1 -policyName CS-policy-2 -priority 2 bind cs vserver -policyname exception_samesite_attribute 90 110 -type RES_OVERRIDE bind cs vserver -policyname append_samesite_attribute 100 110 -type RES_OVERRIDE
En este artículo
- 卡索uso de: configurar el atributo de饼干de SameSite
- Configurar cookies generadas por ADC
- Verificar la configuración de la variable ns
- Ejemplo de configuración para insertar atributos de cookie en la implementación de GSLB
- Ejemplo de configuración para insertar el atributo de cookie en el despliegue de conmutación de contenido