Konfigurieren der Persistenz basierend auf benutzerdefinierten Regeln

Wenn eine regelbasierte Persistenz konfiguriert ist, erstellt die Citrix ADC Appliance eine Persistenzsitzung basierend auf dem Inhalt der übereinstimmenden Regel, bevor sie die Anforderung an den Dienst leitet, der von der konfigurierten Lastausgleichsmethode ausgewählt wurde. Anschließend werden alle Anforderungen, die der Regel entsprechen, an denselben Dienst weitergeleitet. Sie können regelbasierte Persistenz für Dienste vom Typ HTTP, SSL, RADIUS, ANY, TCP und SSL_TCP konfigurieren.

Regelbasierte Persistenz erfordert einen klassischen oder standardmäßigen Syntaxausdruck. Sie können einen klassischen Ausdruck zum Auswerten von Anforderungskopfzeilen verwenden, oder Sie können einen Standard-Syntaxausdruck verwenden, um Anforderungskopfzeilen, Webformulardaten in einer Anforderung, Antwortkopfzeilen oder Antwortkörpern auszuwerten. Beispielsweise können Sie einen klassischen Ausdruck verwenden, um die Persistenz basierend auf dem Inhalt des HTTP-Host-Headers zu konfigurieren. Sie können auch einen Standard-Syntaxausdruck verwenden, um Persistenz basierend auf Anwendungssitzungsinformationen in einem Antwort-Cookie oder benutzerdefinierten Header zu konfigurieren. Weitere Hinweise zum Erstellen und Verwenden von klassischen und standardmäßigen Syntaxausdrücken finden Sie unterRichtlinien und Ausdrücke.

Die Ausdrücke, die Sie konfigurieren können, hängen vom Diensttyp ab, für den Sie regelbasierte Persistenz konfigurieren. Beispielsweise sind bestimmte RADIUS-spezifische Ausdrücke für andere Protokolle als RADIUS nicht zulässig, und TCP-Options-basierte Ausdrücke sind für andere Diensttypen als den Typ ANY nicht zulässig. Für TCP- und SSL_TCP-Diensttypen können Sie Ausdrücke verwenden, die TCP/IP-Protokolldaten, Layer-2-Daten, TCP-Optionen und TCP-Nutzlasten auswerten.

Hinweis: Informationen zu einem Anwendungsfall, der die Konfiguration regelbasierter Persistenz auf der Grundlage von über TCP übertragenen Financial Information eXchange (FIX) -Protokolldaten beinhaltet, finden Sie unter Konfigurieren von regelbasierter Persistenz basierend auf einem Name-Wert-Paar in einem TCP-Byte-Stream.

Regelbasierte Persistenz kann zur Aufrechterhaltung der Persistenz mit Entitäten wie Branch Repeater Appliances, Branch Repeater-Plug-Ins, Cache-Servern und Anwendungsservern verwendet werden.

Hinweis: Auf einem beliebigen virtuellen Server können Sie keine regelbasierte Persistenz für die Antworten konfigurieren.

Um die Persistenz basierend auf einer benutzerdefinierten Regel zu konfigurieren, konfigurieren Sie zunächst die Persistenz wie unter beschrieben und legen den Persistenztyp auf RULE fest.Persistenztypen konfigurieren, die keine Regel erfordern/de-de/citrix-adc/13/load-balancing/load-balancing-persistence/no-rule-persistence.html[()] Anschließend führen Sie die unten aufgeführten Verfahren durch. Sie können die regelbasierte Persistenz mit dem Konfigurationsdienstprogramm oder der CLI konfigurieren.

So konfigurieren Sie die Persistenz anhand benutzerdefinierter Regeln mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set lb vserver <vserverName> [-rule <expression>][-resRule <expression>]

Beispiel:

set lb vserver vsvr_name –rule http.req.header("cookie").value(0).typecast_nvlist_t('=',';').value("server")

set lb vserver vsvr_name –resrule http.res.header("set-cookie").value(0).typecast_nvlist_t('=',';').value("server")

So konfigurieren Sie die Persistenz basierend auf benutzerdefinierten Regeln mit der GUI

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und öffnen Sie den virtuellen Server.
  2. Wählen Sie im Abschnitt Persistenz den Persistenztyp aus, der Ihrer Anforderung entspricht. Der am besten geeignete Persistenztyp für den virtuellen Server ist als Optionsschaltflächen verfügbar. Andere Persistenztypen, die für den bestimmten virtuellen Servertyp gelten, können in der Liste Andere ausgewählt werden.

lokalisiertes Bild

Hinweis:

Vor NetScaler Release 12.0 Build 56.20 sind alle Persistenztypen in einer einzigen Persistence-Dropdown-Liste ohne Optionsschaltflächen verfügbar.

Beispiel: Klassischer Ausdruck für eine Anforderungs-Nutzlast

Der folgende klassische Ausdruck erstellt eine Persistenzsitzung basierend auf dem Vorhandensein eines User-Agent-HTTP-Headers, der die Zeichenfolge “MyBrowser” enthält, und leitet alle nachfolgenden Clientanforderungen, die diesen Header und String enthalten, an denselben Server, der für die erste Anforderung ausgewählt wurde.

HTTP-Header User-Agent enthält MyBrowser

Beispiel: Standard-Syntaxausdruck für einen Anforderungskopf

Der folgende Standard-Syntaxausdruck macht genau dasselbe wie der vorherige klassische Ausdruck.

HTTP.REQ.HEADER (User-Agent) .CONTAINS (MyBrowser)

Der folgende Ausdruck untersucht Antworten auf Server -Cookies und leitet dann alle Anfragen, die dieses Cookie enthalten, an denselben Server, der für die erste Anforderung ausgewählt wurde.

HTTP.RES.HEADER(“SET-COOKIE”).VALUE(0).TYPECAST_NVLIST_T(‘=’,’;’).VALUE(“server”)