A persistência do Netscaler falha, descarta pacotes

A persistência do Netscaler falha, descarta pacotes

Eu tenho um vserver configurado com isso

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

Parece que se o parâmetro "sid" estiver definido para ir para "servidor 1" e no momento em que a solicitação chegar, o "servidor 1" estiver inativo, ele voltará ao round robin e enviará a solicitação para outro lugar (servidor 2 para exemplo)

Como posso configurar o NS de forma que, se uma solicitação estiver vinculada a um servidor e esse servidor estiver inativo, a solicitação seja descartada ou rejeitada?

Responder1

Esse é o objetivo de usar o balanceador de carga, se um back-end estiver inativo, ele irá para o outro. Se você não quiser isso, crie 2 vservers LB não endereçáveis ​​atrás de uma troca de conteúdo e use a política de troca de conteúdo para definir o que vai para onde. Eu faço principalmente tudo a partir da interface gráfica, mas o resultado final deve ser algo assim:

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

informação relacionada