Persistenzeinstellungen
Sie müssen die Persistenz auf einem virtuellen Server konfigurieren, wenn Sie den Status der Verbindungen auf den Servern beibehalten möchten, die durch diesen virtuellen Server dargestellt werden (z. B. Verbindungen, die im E-Commerce verwendet werden). Die Appliance verwendet dann die konfigurierte Load-Balancing-Methode für die anfängliche Auswahl eines Servers, leitet jedoch alle nachfolgenden Anforderungen von demselben Client an denselben Server weiter.
Wenn Persistenz konfiguriert ist, überschreibt sie die Lastausgleichsmethoden, sobald der Server ausgewählt wurde. Wenn die konfigurierte Persistenz für einen Dienst gilt, der nicht verfügbar ist, verwendet die Appliance die Lastausgleichsmethoden, um einen neuen Dienst auszuwählen, und der neue Dienst wird für nachfolgende Anforderungen vom Client persistent. Wenn sich der ausgewählte Dienst im Status “Nicht in Betrieb” befindet, bedient er weiterhin die ausstehenden Anforderungen, akzeptiert jedoch keine neuen Anforderungen oder Verbindungen. Nach Ablauf der Shutdown-Phase werden die bestehenden Verbindungen geschlossen. In der folgenden Tabelle sind die Persistenztypen aufgeführt, die Sie konfigurieren können.
Persistenz-Typ | Persistente Verbindungen |
---|---|
Quell-IP, SSL-Sitzungs-ID, Regel, DESTIP, SRCIPDESTIP | 250K* |
CookieInsert, URL passiv, benutzerdefinierte Server-ID | Speicherbegrenzung. Wenn im Falle von CookieInsert das Timeout nicht 0 ist, ist eine beliebige Anzahl von Verbindungen zulässig, bis es durch den Speicher begrenzt ist. |
*
in der obigen Tabelle angegebene bezieht sich auf Folgendes:
250.000 Sitzungen pro Core ist die Standardeinstellung pro Paket-Engine. Führen Sie den folgenden Befehl aus, um 1 Million Sitzungseinträge pro Packet Engine zu konfigurieren:
set lb parameter -sessionsthreshold <1000000*number of PE>
Führen Sie für ein 3-PE-System den folgenden Befehl aus:
set lb parameter -sessionsthreshold 3000000
Tabelle 1. Einschränkungen bei der Anzahl gleichzeitiger persistenter Verbindungen
Wenn die konfigurierte Persistenz aufgrund fehlender Ressourcen auf einer Appliance nicht aufrechterhalten werden kann, werden die Lastausgleichsmethoden für die Serverauswahl verwendet. Die Persistenz wird für einen konfigurierten Zeitraum aufrechterhalten, abhängig vom Persistenztyp. Einige Persistenztypen sind spezifisch für bestimmte virtuelle Server. Die folgende Tabelle zeigt die Beziehung.
Persistence TypeHeader 1 | HTTP | HTTPS | TCP | UDP/IP | SSL_Bridge |
---|---|---|---|---|---|
Quell-IP | JA | JA | JA | JA | JA |
CookieInsert | JA | JA | NEIN | NEIN | NEIN |
SSL-Sitzung ID | NEIN | JA | NEIN | NEIN | JA |
URL Passive | JA | JA | NEIN | NEIN | NEIN |
Benutzerdefinierte Server-ID | JA | JA | NEIN | NEIN | NEIN |
Regel | JA | JA | NEIN | NEIN | NEIN |
SRCIPDESTIP | Nicht zutreffend | Nicht zutreffend | JA | JA | Nicht zutreffend |
DESTIP | Nicht zutreffend | Nicht zutreffend | JA | JA | Nicht zutreffend |
Tabelle 2. Persistenztypen, die für jeden Typ von virtuellem Server verfügbar sind
Sie können auch Persistenz für eine Gruppe virtueller Server angeben. Wenn Sie die Persistenz für die Gruppe aktivieren, werden die Clientanforderungen an denselben ausgewählten Server weitergeleitet, unabhängig davon, welcher virtuelle Server in der Gruppe die Clientanforderung empfängt. Wenn die konfigurierte Zeit für die Persistenz abgelaufen ist, kann jeder virtuelle Server in der Gruppe für eingehende Clientanforderungen ausgewählt werden.
Zwei häufig verwendete Persistenztypen sind Persistenz basierend auf Cookies und Persistenz basierend auf Server-IDs in URLs.
Konfigurieren Sie die Persistenz basierend auf Cookies
Wenn Sie die auf Cookies basierende Persistenz aktivieren, fügt die Citrix ADC Appliance ein HTTP-Cookie in das HeaderfeldSet-Cookieder HTTP-Antwort静脉。Das饼干enthalt Informationen über den Dienst, an den die HTTP-Anfragen gesendet werden müssen. Der Kunde speichert das Cookie und schließt es in alle nachfolgenden Anfragen ein, und der ADC verwendet es, um den Dienst für diese Anfragen auszuwählen. Sie können diese Art der Persistenz auf virtuellen Servern vom Typ HTTP oder HTTPS verwenden.
Die Citrix ADC Appliance fügt das Cookie
Wobei gilt:
ist die virtuelle Server-ID, die vom Namen des virtuellen Servers abgeleitet wird. ist der hexadezimale Wert der Service-IP-Adresse. ist der hexadezimale Wert des Serviceports.
Wenn die OptionuseEncryptedPersistenceCookie
aktiviert ist, verschlüsselt der ADC ServiceIP und ServicePort über den SHA2-Hash-Algorithmus, wenn er ein Cookie einfügt, und entschlüsselt, wenn er ein Cookie empfängt.
Hinweis: Wenn der Client das HTTP-Cookie nicht speichern darf, haben die nachfolgenden Anforderungen nicht das HTTP-Cookie, und die Persistenz wird nicht berücksichtigt.
Standardmäßig sendet die ADC-Appliance das HTTP-Cookie Version 0 gemäß der Netscape-Spezifikation. Es kann auch Version 1 senden, in Übereinstimmung mit RFC 2109.
Sie können einen Timeoutwert für Persistenz konfigurieren, der auf HTTP-Cookies basiert. Beachten Sie Folgendes:
- Wenn das HTTP-Cookie Version 0 verwendet wird, fügt die Citrix ADC-Appliance die absolute koordinierte Weltzeit (GMT) des Ablaufs des Cookie (das expires-Attribut des HTTP-Cookies) ein, berechnet als Summe der aktuellen GMT-Zeit auf einer ADC-Appliance und dem Timeoutwert.
- Wenn ein HTTP-Cookie Version 1 verwendet wird, fügt die ADC-Appliance eine relative Ablaufzeit ein (Max-Age-Attribut des HTTP-Cookies). In diesem Fall berechnet die Clientsoftware die tatsächliche Ablaufzeit.
Hinweis: Die meisten derzeit installierten Clientsoftware (Microsoft Internet Explorer und Netscape-Browser) verstehen die HTTP-Cookie-Version 0. Einige HTTP-Proxys verstehen jedoch die HTTP-Cookie-Version 1.
Wenn Sie den Timeout-Wert auf 0 festlegen, gibt die ADC Appliance unabhängig von der verwendeten HTTP-Cookie-Version keine Ablaufzeit an. Die Ablaufzeit hängt dann von der Client-Software ab, und solche Cookies sind nicht gültig, wenn diese Software heruntergefahren wird. Dieser Persistenztyp verbraucht keine Systemressourcen. Daher kann es eine unbegrenzte Anzahl von persistenten Clients aufnehmen.
Ein Administrator kann die HTTP-Cookie-Version ändern.
So ändern Sie die HTTP-Cookie-Version über die CLI
您an der Eingabeaufforderung Folgendes ein:
set ns param [-cookieversion ( 0 | 1 )]
Beispiel:
set ns param -cookieversion 1
So ändern Sie die HTTP-Cookie-Version über die GUI
- Navigieren Sie zuSystem > Einstellungen.
- Klicken Sie im Detailbereich auf HTTP-Parameter ändern.
- Wählen Sie im Dialogfeld HTTP-Parameter konfigurieren unter Cookie die Option Version 0 oder Version 1.
Hinweis: Informationen zu den Parametern finden Sie unterKonfigurieren der Persistenz basierend auf Cookies.
So konfigurieren Sie die Persistenz basierend auf Cookies über die CLI
您an der Eingabeaufforderung die folgenden Befehle ein, um die auf Cookies basierende Persistenz zu konfigurieren und die Konfiguration zu überprüfen:
set lb vserver -persistenceType COOKIEINSERT show lb vserver
Beispiel:
set lb vserver vserver-LB-1 -persistenceType COOKIEINSERT Done show lb vserver vserver-LB-1 vserver-LB-1 (10.102.29.60:80) - HTTP Type: ADDRESS . . . Persistence: COOKIEINSERT (version 0) Persistence Timeout: 2 min . . . Done
So konfigurieren Sie Persistenz basierend auf Cookies über die GUI
- Navigieren Sie zuTraffic Management > Load Balancing > Virtuelle Server.
- Wählen Sie im Detailbereich den virtuellen Server aus, für den Sie die Persistenz konfigurieren möchten (z. B. vServer-LB-1), und klicken Sie dann auf Öffnen.
- Wählen Sie im Dialogfeld “Virtuellen Server konfigurieren (Load Balancing)” auf der Registerkarte “Methode und Persistenz” in der Liste “Persistenz” die Option COOKIEINSERT aus.
- 您im Textfeld Timeout (min) den Timeoutwert ein (z. B. 2).
- Klicken Sie auf OK.
- Stellen Sie sicher, dass der virtuelle Server, für den Sie die Persistenz konfiguriert haben, korrekt konfiguriert ist, indem Sie den virtuellen Server auswählen und den Abschnitt Details unten im Bereich anzeigen.
Konfigurieren der Persistenz basierend auf Server-IDs in URLs
Die Citrix ADC Appliance kann die Persistenz basierend auf den Server-IDs in den URLs aufrechterhalten. In einer Technik, die als passive URL-Persistenz bezeichnet wird, extrahiert der ADC die Server-ID aus der Serverantwort und bettet sie in die URL-Abfrage der Clientanforderung ein. Die Server-ID ist eine IP-Adresse und der als Hexadezimalzahl angegebene Port. Der ADC extrahiert die Server-ID aus nachfolgenden Clientanforderungen und verwendet sie, um den Server auszuwählen.
Die passive URL-Persistenz erfordert die Konfiguration eines Payload-Ausdrucks oder eines Richtlinieninfrastrukturausdrucks, der den Speicherort der Server-ID in den Clientanforderungen angibt. Weitere Informationen zu Ausdrücken finden Sie unterRichtlinienkonfiguration und Referenz.
Hinweis: Wenn die Server-ID nicht aus den Clientanforderungen extrahiert werden kann, basiert die Serverauswahl auf der Load Balancing-Methode.
Beispiel: Payload Expression
Der Ausdruck URLQUERY enthält sid= konfiguriert das System, um die Server-ID aus der URL-Abfrage einer Clientanforderung zu extrahieren, nachdem das Token sid= abgeglichen wurde. Somit wird eine Anfrage mit der URL//m.giftsix.com/index.asp?\&sid;=c0a864100050
an den Server mit der IP-Adresse 10.102.29.10 und Port 80 gerichtet.
Der Timeoutwert wirkt sich nicht auf diese Art der Persistenz aus, die beibehalten wird, solange die Server-ID aus den Clientanforderungen extrahiert werden kann. Dieser Persistenztyp verbraucht keine Systemressourcen, so dass er eine unbegrenzte Anzahl von persistenten Clients aufnehmen kann.
Hinweis: Informationen zu den Parametern finden Sie unterLoad Balancing.
So konfigurieren Sie die Persistenz basierend auf Server-IDs in URLs über die Befehlszeile
您an der Eingabeaufforderung die folgenden Befehle ein, um die Persistenz basierend auf Server-IDs in URLs zu konfigurieren und die Konfiguration zu überprüfen:
set lb vserver -persistenceType URLPASSIVE
Beispiel:
set lb vserver vserver-LB-1 -persistenceType URLPASSIVE Done show lb vserver vserver-LB-1 vserver-LB-1 (10.102.29.60:80) - HTTP Type: ADDRESS . . . Persistence: URLPASSIVE Persistence Timeout: 2 min . . . Done
So konfigurieren Sie Persistenz basierend auf Server-IDs in URLs über die GUI
- Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
- Wählen Sie im Detailbereich den virtuellen Server aus, für den Sie die Persistenz konfigurieren möchten (z. B. vServer-LB-1), und klicken Sie dann auf Öffnen.
- Wählen Sie im Dialogfeld “Virtuellen Server konfigurieren (Load Balancing)” auf der Registerkarte “Methode und Persistenz” in der Liste “Persistenz” die Option URLPASSIVE aus.
- 您im Textfeld Timeout (min) den Timeoutwert ein (z. B. 2).
- 您im Textfeld Regel einen gültigen Ausdruck ein. Klicken Sie alternativ neben dem Textfeld Regel auf Konfigurieren und verwenden Sie das Dialogfeld “Ausdruck erstellen”, um einen Ausdruck zu erstellen.
- Klicken Sie auf OK.
- Stellen Sie sicher, dass der virtuelle Server, für den Sie die Persistenz konfiguriert haben, korrekt konfiguriert ist, indem Sie den virtuellen Server auswählen und den Abschnitt Details unten im Bereich anzeigen.