Netscaler-Persistenz schlägt fehl, Pakete werden gelöscht

Netscaler-Persistenz schlägt fehl, Pakete werden gelöscht

Ich habe einen vServer konfiguriert, der damit

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

Es scheint so, dass, wenn der Parameter „sid“ so eingestellt ist, dass er zu „Server 1“ geht, und „Server 1“ zum Zeitpunkt des Eintreffens der Anfrage ausfällt, er auf Round Robin zurückgreift und die Anfrage woanders hinschickt (zum Beispiel an Server 2).

Wie kann ich den NS so konfigurieren, dass eine Anfrage, die an einen Server gerichtet ist und dieser Server ausgefallen ist, einfach gelöscht oder abgelehnt wird?

Antwort1

Das ist der ganze Sinn der Verwendung eines Load Balancers. Wenn ein Backend ausfällt, wird es auf das andere umgeleitet. Wenn Sie das nicht möchten, erstellen Sie zwei nicht adressierbare LB-Vserver hinter einem Content Switching und verwenden Sie die Content Switching-Richtlinie, um zu definieren, was wohin geht. Ich mache fast alles über die GUI, aber das Endergebnis sollte ungefähr so ​​aussehen:

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

verwandte Informationen