ADC
Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Cookie-Attribute in ADC-generierten Cookies einfügen

Die Webadministratoren können andere Cookie-Attribute in die von der NetScaler Appliance generierten Cookies einfügen. Diese zusätzlichen Cookie-Attribute helfen bei der Durchsetzung der erforderlichen Richtlinien für die von ADC generierten Cookies basierend auf dem Anwendungszugriffsmuster.

Die folgenden Funktionen verwenden die von ADC generierten Cookies, um Persistenz zu erreichen.

  • Persistenz von Load-Balancing-Cookies
  • Persistenz von Cookies für Lastausgleichsgruppen
  • Persistenz der GSLB-Site
  • Cookie-Persistenz beim Content Switching

Sie können mit den folgenden Parametern andere Cookie-Attribute in die von ADC generierten Cookies einfügen:

  • literalAdcCookieAttribute: Hängen Sie andere Cookie-Attribute als String an das von ADC generierte Cookie an.

  • ComputedADCCookieAttribute: Verwenden Sie eine ADC ns-Variable, um Cookie-Attribute an das von ADC generierte Cookie anzuhängen, basierend auf den Client- oder Serverattributen, z. B.

Hinweis

Sie können nicht sowohl das Literal ADC Cookie-Attribut als auch das berechnete ADC-Cookie-Attribut gleichzeitig für den Load-Balancing-Parameter oder in einem einzigen Load-Balancing-Profil konfigurieren.

Jedem Cookie ist eine Domain zugeordnet. Wenn die Domain eines Cookies mit der Website-Domain in der Adressleiste des Benutzers übereinstimmt, wird dies als Kontext derselben Website (oder eines Erstanbieters) betrachtet. Wenn die mit einem Cookie verknüpfte Domain mit einem externen Dienst übereinstimmt und nicht mit der Website in der Adressleiste des Benutzers, wird dies als seitenübergreifender (oder Drittanbieter-) Kontext betrachtet.

Das SameSite-Attribut gibt dem Browser an, ob das Cookie für einen websiteübergreifenden Kontext oder nur für den Kontext derselben Site verwendet werden kann. Wenn eine Anwendung beabsichtigt, im standortübergreifenden Kontext zugegriffen zu werden, kann sie dies nur über die HTTPS-Verbindung tun. Einzelheiten finden Sie unter RFC6265.

Bis Februar 2020 wurde die SameSite-Eigenschaft nicht explizit in NetScaler festgelegt. Der Browser verwendete den Standardwert „Keine“ und hatte keine Auswirkungen auf die NetScaler-Bereitstellungen.

Mit dem Upgrade bestimmter Browser wie Google Chrome 80 ändert sich jedoch das standardmäßige domänenübergreifende Verhalten von Cookies. Das SameSite-Attribut kann auf einen der folgenden Werte festgelegt werden. Der Standardwert für Google Chrome ist auf Lax festgelegt.

  • Keine: Gibt an, dass der Browser ein Cookie im standortübergreifenden Kontext nur bei sicheren Verbindungen verwenden soll.
  • Lax: Zeigt an, dass der Browser ein Cookie für Anfragen im Kontext derselben Website verwendet. Im Cross-Site-Kontext können nur sichere HTTP-Methoden wie GET-Request das Cookie verwenden.
  • Streng: Verwenden Sie das Cookie nur im Kontext derselben Site.

Wenn das Cookie kein SameSite-Attribut enthält, übernimmt Google Chrome die Funktionalität von SameSite = Lax.

Hinweis

Für bestimmte Versionen anderer Browser ist der Standardwert für das SameSite-Attribut möglicherweise auf Keinefestgelegt. In einigen Browser-Versionen kann “SameSite = none” anders behandelt werden. Die folgenden Browser lehnen beispielsweise ein Cookie mit „SameSite = none“ ab:

  • Versionen von Chrome von Chrome 51 bis Chrome 66 (an beiden Enden inklusive)
  • Versionen des UC-Browsers auf Android vor Version 12.13.2

Konfigurieren von ADC-generierten Cookies

Um von ADC generierte Cookie-Attribute zu konfigurieren, müssen Sie Folgendes ausführen:

  1. Erstellen eines virtuellen Lastausgleichsservers
  2. Legen Sie die ADC-Cookie-Attribute für den virtuellen Load-Balancing-Server entweder über LB-Parameter oder über das LB-Profil fest.
  3. Wenn Sie ein LB-Profil verwenden, legen Sie das LB-Profil auf einen virtuellen Lastausgleichsserver fest.
  4. Wenn Sie sich dafür entscheiden, das berechnete ADC-Cookie-Attribut zu verwenden, konfigurieren Sie die entsprechende Rewrite-Richtlinie.

Hinweis

Wenn ein LB-Profil an einen virtuellen LB-Server gebunden ist, wird die Profilparameterkonfiguration anstelle der globalen LB-Parameterkonfiguration berücksichtigt.

Sie können die vom ADC generierten Cookie-Attribute auf folgende Weise festlegen:

  • Festlegen der ADC-Cookie-Attribute in Lastenausgleichsparametern
  • Festlegen der ADC-Cookie-Attribute im Load Balancing-Profil

Um eine Richtlinie einheitlich auf von ADC generierte Cookies aller auf der NetScaler Appliance konfigurierten Anwendungen anzuwenden, können Sie das ADC-Cookie-Attribut in den globalen LB-Parametern festlegen.

Die Einstellung Literal ADC Cookie Attribut ermöglicht es Ihnen, die Cookie-Attribute bedingungslos in das von ADC generierte Cookie einzufügen.

Geben Sie an der Befehlszeile Folgendes ein:

set lb parameter -LiteralADCCookieAttribute <string>

Beispiel:

set lb parameter -LiteralADCCookieAttribute SameSite=None

Mit der Einstellung „Berechnetes ADC-Cookie-Attribut“ können Sie die Cookie-Attribute basierend auf den Client- oder Serverattributen unter bestimmten Bedingungen in das von ADC generierte Cookie einfügen.

Geben Sie an der Befehlszeile Folgendes ein:

set lb parameter -ComputedADCCookieAttribute <ns variable>

Beispiel:

add ns variable cookieattribute_var -type "text(100)" -scope transaction set lb parameter -ComputedADCCookieAttributE "$cookieattribute_var" add ns assignment samesiteassign -variable "$cookieattribute_var" -set ""SameSite=None"" add policy expression pol_iphone "(HTTP.REQ.HEADER("User-Agent").CONTAINS("iP") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/OS \d+\\_/).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).EQ(12).typecast_text_t ALT "false").eq("true"))" add policy expression pol_chrome "(HTTP.REQ.HEADER("User-Agent").CONTAINS("Chrom") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/Chrom.*\d+./).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).BETWEEN(51,66).typecast_text_t ALT "false").eq("true"))" add rewrite policy exception_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE add rewrite policy append_samesite_attribute true samesiteassign bind rewrite global exception_samesite_attribute 90 110 -type RES_OVERRIDE bind rewrite global append_samesite_attribute 100 110 -type RES_OVERRIDE

Variablen mithilfe der GUI konfigurieren

  1. Navigieren Sie zu AppExpert > Variablenund klicken Sie auf Hinzufügen.
  2. Wählen Sie auf der Seite “Variable erstellen “ im Dropdownmenü Geltungsbereich als Transaktion und als Texteingeben aus.

    Variable für ADC-Cookies erstellen

  3. Geben Sie weitere Details ein und klicken Sie auf Erstellen.

Erstellen Sie eine Aufgabe mithilfe der GUI

Nachdem Sie eine Variable konfiguriert haben, können Sie einen Wert zuweisen oder die Operation angeben, die an der Variablen ausgeführt werden soll, indem Sie eine Zuweisung erstellen.

  1. Navigieren Sie zu AppExpert > Zuweisungenund klicken Sie auf Hinzufügen.
  2. Geben Sie auf der Seite Zuweisung erstellen die Details ein und klicken Sie auf Erstellen.
  1. Navigieren Sie zu Traffic Management > Load Balancing > Load Balancing-Parameter ändern.

    LB-Parameter ändern

  2. Geben Sie im Bereich „Load Balancing-Parameter konfigurieren “ die entsprechenden Werte für eines der Felder ein, die Ihren Anforderungen entsprechen:

    • Literales ADC-Cookie-Attribut
    • Berechnetes ADC-Cookie-Attribut

    lib parameters.png konfigurieren

  3. Klicken Sie auf OK.

Um eine Richtlinie für eine bestimmte Anwendung anzuwenden, die auf der NetScaler Appliance konfiguriert ist, können Sie die Cookie-Attributparameter im LB-Profil festlegen, das an den anwendungsspezifischen virtuellen LB-Server gebunden ist.

Die Einstellung Literal ADC Cookie Attribute im LB-Profil ermöglicht es Ihnen, die Cookie-Attribute bedingungslos in das von ADC generierte Cookie einzufügen, das für einen virtuellen Server spezifisch ist.

Geben Sie an der Befehlszeile Folgendes ein:

add lb profile <profile name> -LiteralADCCookieAttribute <string>

Beispiel:

add lb profile LB-Vserver-Profile-1 -LiteralADCCookieAttribute SameSite=None add lb vserver LB-VServer-1 SSL 10.102.148.37 443 -persistenceType COOKIEINSERT -lbprofilename LB-Vserver-Profile-1

Die Einstellung für das berechnete ADC-Cookie-Attribut im LB-Profil ermöglicht es Ihnen, die auf den Client- oder Serverattributen basierenden Cookie-Attribute unter bestimmten Bedingungen in das von ADC generierte Cookie einzufügen. Stellen Sie dann dieses LB-Profil auf einen virtuellen LB-Server ein.

Geben Sie an der Befehlszeile Folgendes ein:

add lb profile <profile name> -ComputedADCCookieAttribute <ns variable>

Beispiel:

add ns variable cookieattribute_var -type "text(100)" -scope transaction add ns assignment samesiteassign -variable "$cookieattribute_var" -set ""SameSite=None"" add lb profile LB-Vserver-Profile-1 -ComputedADCCookieAttributE "$cookieattribute_var" add policy expression pol_iphone "(HTTP.REQ.HEADER("User-Agent").CONTAINS("iP") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/OS \d+\\_/).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).EQ(12).typecast_text_t ALT "false").eq("true"))" add policy expression pol_chrome "(HTTP.REQ.HEADER("User-Agent").CONTAINS("Chrom") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/Chrom.*\d+./).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).BETWEEN(51,66).typecast_text_t ALT "false").eq("true"))" add rewrite policy exception_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE add rewrite policy append_samesite_attribute true samesiteassign add lb vserver LB-VServer-1 SSL 10.102.148.37 443 -persistenceType COOKIEINSERT -lbprofilename LB-Vserver-Profile-1 bind lb vserver LB-VServer-1 -policyName exception_samesite_attribute -priority 90 -gotoPriorityExpression 110 -type RESPONSE bind lb vserver LB-VServer-1 -policyName append_samesite_attribute -priority 100 -gotoPriorityExpression 110 -type RESPONSE
  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
  2. Wählen Sie einen virtuellen Server aus und klicken Sie auf Bearbeiten.
  3. Klicken Sie im Abschnitt Erweiterte Einstellungen auf Profile hinzufügen.

    lb virtueller Server

  4. Klicken Sie im Abschnitt Profile auf Hinzufügen, um ein LB-Profil zu erstellen.

    Wenn Sie bereits ein Profil erstellt haben, wählen Sie es aus dem Dropdownmenü LB-Profil aus.

    Profile hinzufügen

  5. Geben Sie im Bereich LB-Profil die entsprechenden Werte für eines der Felder ein, die auf Ihrer Anforderung basieren:
  • Literales ADC-Cookie-Attribut
  • Berechnetes ADC-Cookie-Attribut

    Literal berechnete Attribute in LB profile.png

  1. Klicken Sie auf OK.
  2. Stellen Sie das erstellte LB-Profil auf den in Schritt 1erstellten virtuellen LB-Server ein.

Überprüfen Sie die ns-Variablenkonfiguration

Um zu überprüfen, ob die ADC-ns-Variable in LB-Parametern oder LB-Profil ordnungsgemäß konfiguriert ist, verwenden Sie die Befehle show lb parameter oder show lb profile.

In der folgenden Tabelle sind die verschiedenen Warnmeldungen und ihre Ursache aufgeführt, wenn die Variable ns nicht richtig konfiguriert ist.

Warnmeldung Gründe
Die NS-Variable ist nicht konfiguriert. Konfigurieren Sie es mit dem Typ text () und dem Gültigkeitsbereich der Transaktion für die Variable Die NS-Variable ist noch nicht konfiguriert.
Der Gültigkeitsbereich der konfigurierten NS-Variablen ist keine Transaktion. Die Variable ist konfiguriert, aber der Gültigkeitsbereich ist nicht auf „Transaktion“ gesetzt.
Der Variablentyp ist nicht Text (). Variable ist konfiguriert, aber der Typ ist nicht auf “Text” gesetzt.
Die konfigurierte Wert-Max-Größe für die NS-Variable ist größer als 255. Der für die NS-Variable konfigurierte Wert beträgt mehr als 255 Zeichen. Hinweis: Eine maximale Länge von 255 Zeichen kann an ein ADC-generiertes Cookie angehängt werden. Die Zeichen, die die maximale Länge überschreiten, werden gekürzt.

Beispielausgabe

Im folgenden Beispiel wird die Warnmeldung angezeigt, wenn die ns-Variable nicht konfiguriert ist.

set lb parameter -ComputedADCCookieAttribute "$lbvar" Warning: NS Variable is not configured. Please configure it with type text() and scope transaction Done

Die Warnmeldung wird in der folgenden Ausgabe des show lb parameter Befehls angezeigt.

show lb parameter Global LB parameters: Persistence Cookie HttpOnly Flag: ENABLED Use Encrypted Persistence Cookie: DISABLED Use Port For Hash LB: YES Prefer direct route: YES Retain Service State: OFF Start RR Factor: 0 Skip Maxclient for Monitoring: DISABLED Monitor Connection Close: FIN Use consolidated stats for LeastConnection: YES Allow mac mode based vserver to pick thereturn traffic from services: DISABLED Allow bound service removal: ENABLED TTL for Domain Based Server: 0 secs NetScaler Cookie Variable Name: $lbvar(NS Variable is not configured. Please configure it with type text() and scope transaction) Done

Die folgende Beispielkonfiguration gilt für die Site-Persistenz, die auf GSLB-Diensten konfiguriert ist, die einem virtuellen LB-Server entsprechen. Um einige zusätzliche Cookie-Attribute an die GSLB-Cookies anzuhängen, führen Sie die folgende Konfiguration durch.

  • Stellen Sie die ADC-Cookie-Attribute im LB-Profil ein (LB-vServer-Profile-1).
  • Stellen Sie den Literal ADC Cookie-Attributwert, zum Beispiel „sameSite=None“, im LB-Profil ein.
  • Stellen Sie das LB-Profil auf den virtuellen Lastausgleichsserver (LB-vServer-1) ein, der den GSLB-Dienst darstellt.
add gslb vserver GSLB-VServer-1 SSL -backupLBMethod ROUNDROBIN -tolerance 0 -appflowLog DISABLED add gslb site site1 10.102.148.4 -publicIP 10.102.148.4 add gslb service site1_gsvc1 10.102.148.35 SSL 443 -publicIP 10.102.148.35 -publicPort 443 -maxClient 0 -siteName site1 -sitePersistence HTTPRedirect -sitePrefix ss1 -cltTimeout 180 -svrTimeout 360 -downStateFlush ENABLED bind gslb vserver GSLB-VServer-1 -serviceName site1_gsvc1 bind gslb vserver GSLB-VServer-1 -domainName www.gslb.com -TTL 5 add service service-1 10.102.84.140 SSL 443 add lb profile LB-Vserver-Profile-1 -LiteralADCCookieAttribute SameSite=None add lb vserver LB-VServer-1 SSL 10.102.148.37 443 -persistenceType COOKIEINSERT -lbprofilename LB-Vserver-Profile-1 bind lb vserver LB-VServer-1 service-1

Hinweis

Sie können die Cookie-Attribute auch bedingt mithilfe des Berechneten ADC-Cookie-Attributs einfügen.

Die folgende Beispielkonfiguration gilt, wenn mehrere Anwendungen hinter einem virtuellen Content Switching-Server gehostet werden. Um dieselbe Richtlinie auf alle Anwendungen anzuwenden, binden Sie die Rewrite-Richtlinien wie folgt an den virtuellen Content Switching-Server statt an den virtuellen LB-Server:

  • Stellen Sie die ADC-Cookie-Attribute in den LB-Parametern ein.

    Hinweis:

    Sie können die ADC-Cookie-Attribute auch im LB-Profil festlegen.

  • Konfigurieren Sie die ns-Variable (cookieattribute_var), deren Type auf Text und Scope auf Transaction gesetzt ist.
  • Stellen Sie das berechnete ADC-Cookie-Attribut in den globalen LB-Parametern mithilfe der Variablen ns ein.
  • Legen Sie die Rewrite-Richtlinien (exception_samesite_attribute und append_samesite_attribute) für die virtuellen Content-Switching-Server fest, um die Cookie-Attribute einzufügen.
add ns variable cookieattribute_var -type "text(100)" -scope transaction set lb parameter -ComputedADCCookieAttributE "$cookieattribute_var" add ns assignment samesiteassign -variable "$cookieattribute_var" -set ""SameSite=None"" add policy expression pol_iphone "(HTTP.REQ.HEADER("User-Agent").CONTAINS("iP") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/OS \d+\\_/).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).EQ(12).typecast_text_t ALT "false").eq("true"))" add policy expression pol_chrome "(HTTP.REQ.HEADER("User-Agent").CONTAINS("Chrom") && (HTTP.REQ.HEADER("User-Agent").REGEX_SELECT(re/Chrom.*\d+./).REGEX_SELECT(re/\d+/).TYPECAST_NUM_T(DECIMAL).BETWEEN(51,66).typecast_text_t ALT "false").eq("true"))" add rewrite policy exception_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE add rewrite policy append_samesite_attribute true samesiteassign add lb vserver LB-VServer-1 SSL 10.102.148.35 443 add lb vserver LB-VServer-2 SSL 10.102.148.36 443 add cs vserver CS-VServer-1 SSL 10.102.148.42 443 -persistenceType COOKIEINSERT add cs action act1 -targetLBVserver v1 add cs action act2 -targetLBVserver v2 add cs policy CS-policy-1 -rule "HTTP.REQ.URL.CONTAINS("file1.html")" -action act1 add cs policy CS-policy-2 -rule "HTTP.REQ.URL.CONTAINS("file2.html")" -action act2 bind cs vserver CS-VServer-1 -policyName CS-policy-1 -priority 1 bind cs vserver CS-VServer-1 -policyName CS-policy-2 -priority 2 bind cs vserver -policyname exception_samesite_attribute 90 110 -type RES_OVERRIDE bind cs vserver -policyname append_samesite_attribute 100 110 -type RES_OVERRIDE
Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.