La persistencia de Netscaler falla, descarta paquetes

La persistencia de Netscaler falla, descarta paquetes

Tengo un vserver configurado con esto

-persistenceType CUSTOMSERVERID -lbMethod ROUNDROBIN -rule "URLQUERY CONTAINS sid="

Parece que si el parámetro "sid" está configurado para ir al "servidor 1" y en el momento en que llega la solicitud, el "servidor 1" está inactivo, vuelve al round robin y envía la solicitud a otro lugar (servidor 2 para ejemplo)

¿Cómo puedo configurar el NS de modo que si una solicitud está destinada a un servidor y ese servidor no funciona, la solicitud simplemente se descarta o se rechaza?

Respuesta1

Ese es el objetivo de usar el balanceador de carga, si un backend no funciona, irá al otro. Si no desea eso, cree 2 servidores virtuales LB no direccionables detrás de un cambio de contenido y use una política de cambio de contenido para definir qué va y dónde. Hago casi todo desde la interfaz gráfica de usuario, pero el resultado final debería ser algo como esto:

add lb vserver LB_for_backend_1 SSL 0.0.0.0 0 -persistenceType COOKIEINSERT -timeout 240 -Listenpolicy None -cltTimeout 180
add lb vserver LB_for_backend_2 SSL 0.0.0.0 0 -persistenceType COOKIEINSERT -timeout 240 -Listenpolicy None -cltTimeout 180

bind lb vserver LB_for_backend_1 service_For_Backend_1
bind lb vserver LB_for_backend_2 ServiceGroup_for_backend_2

add cs vserver CS_CUSTOMSERVERID SSL 192.168.1.100 443 -cltTimeout 180 -Listenpolicy None
add cs policy CSPol_for_backend_1 -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS(\"sid=")
add cs policy CSPol_for_backend_2 -rule "HTTP.REQ.HOSTNAME.SET_TEXT_MODE(IGNORECASE).CONTAINS(\"hostname")" 

bind cs vserver CS_CUSTOMSERVERID -policyName CSPol_for_backend_1 -targetLBVserver LB_for_backend_1 -priority 110
bind cs vserver CS_CUSTOMSERVERID -policyName CSPol_for_backend_2 -targetLBVserver LB_for_backend_2 -priority 120

información relacionada