Citrix ADC

Einfügen von Cookie-Attributen zu ADC-generierten cookie

Die Webadministratoren können andere Cookie-Attribute in Die von der Citrix ADC Appliance genererten 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 vom ADC generierten Cookies, um Persistenz zu erreichen。

  • 负载Balancing-Cookie-Persistenz
  • Ausgleichsgruppen-Cookie-Persistenz
  • GSLB-Standort-Beharrlichkeit
  • Cookie-Persistenz beim内容切换

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

  • literalAdcCookieAttribute:Hängen Sie andere Cookie- attribute als字符串,ADC泛型Cookie。

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

Hinweis:

网址können sowohl das literale ad - cookie - attribute als auh das berechnete ad - cookie - attribute nict gleichzeeitig für den Lastausgleichsparameter oder in einem einzigen lastausgleichprofil konfigurieren。

Mit jedem Cookie ist eine域名verknüpft。Wenn die Domäne eines cookie mit der Website-Domain in der Adressleiste des Benutzers übereinstimmt, wd dies als Kontext derselben Site (oder Erstanbieter) betrachtet。winn die mit einem Cookie verknüpfte域einem外部Dienst和niht mit网站在der Adressleiste des Benutzers übereinstimmt,金的die als standortübergreifender Kontext (oder Drittanbieter)。

达斯SameSite-Attributgibt dem浏览器an, ob das Cookie für standortübergreifenden Kontext oder nur für den gleichen Site-Kontext verwendet werden kann。Wenn eine anwenddong beabsichtigt, im standortübergreifenden Kontext zugegriffen zu werden, kann sie dies nur über die http - verindung tun。Weitere Informationen finden Sie underRFC6265

2020年2月,伍尔德去世SameSite-Eigenschaftnicht explizit在Citrix ADC festgelegt。Der Browser nahm den Standardwert " Keine " and und hat Keine Auswirkungen auf die Citrix ADC Bereitstellungen。

Bei einem升级bestimmter浏览器,wie谷歌Chrome 80, ändert sich jedoch das standardmäßige domänenübergreifende Verhalten von Cookies。达斯SameSite-Attribut我知道,我爱你,我爱你。Der Standardwert für谷歌Chrome ist auf Lax festgelegt。

  • Keine:Zeigt an, dass der浏览器在Cookie im siteübergreifenden Kontext nur für sichere verindungen verwendet。
  • 宽松的:Zeigt an, dass der浏览器在Cookie für Anfragen im Kontext derselben网站verwendet。我跨站点kontext können nur sichere HTTP-Methoden wie GET-Request das Cookie verwenden。
  • 施特伦:Verwenden Sie das Cookie nur im Kontext derselben网站。

Wenn das Cookie kein SameSite - attribute enthält, get谷歌Chrome von der Funktionalität von SameSite =LAX aus。

Hinweis:

Für bestimmte Versionen anderer Browser ist der Standardwert für das SameSite-Attribut möglicherweise aufKeinefestgelegt。在einigen浏览器- versionen kann " SameSite = none " anders behandelt werden。Beispielsweise lehnen die folgenden浏览器在Cookie mit " SameSite = none " ab:

  • 版本onen von Chrome 51 bis Chrome 66 (an beiden Enden inklusive)
  • Version onen des uc -浏览器auf Android vor版本12.13.2

Konfigurieren von ADC-generierten Cookies

Um 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 Lastausgleichsserver fest, entweder über LB-Parameter oder über das lb - profile。
  3. Wenn Sie ein lb - proffil verwenden, legen Sie das lb - proffil auf einen virtuellen Lastausgleichsserver fest。
  4. Wenn Sie das Cookie-Attribut für berechnete ADC verwenden, konfigurieren Sie die zugehörige Richtlinie zum Umschreiben。

Hinweis:

Wenn ein lb - profilan einen virtuellen LB-Server gebunden ist, wdie 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 ad - cookie - attribute im负载均衡配置文件

Um eine Richtlinie einheitlich auf von ADC generierte cookie aller auf der Citrix ADC设备konfigurierten Anwendungen anzuwenden, können Sie das ADC- cookie - attribut in den globalen LB-Parametern festlegen。

死定势字面ADC Cookie属性ermöglicht es Ihnen, die Cookie- attribute bedingungslos in das von ADC genererte Cookie einzufügen。

Geben Sie an der Eingabeaufforderung Folgendes ein:

设置lb参数-LiteralADCCookieAttribute  

Beispiel:

set lb parameter -LiteralADCCookieAttribute SameSite=无

死定势“Berechnetes ADC-Cookie-Attribut”ermöglicht es Ihnen, die Cookie- attribute basierend auf den Client- oder server attribute in das von ADC generierte Cookie einzufügen。

Geben Sie an der Eingabeaufforderung Folgendes ein:

设置lb参数-ComputedADCCookieAttribute  

Beispiel:

添加ns变量cookieattribute_var类型"text(100)"-scope transaction set lb参数-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"). delete =None"REGEX_SELECT (re / OS \ d + \ \ _ /) .REGEX_SELECT (re / \ d + /) .TYPECAST_NUM_T(十进制).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 

图形用户界面的变化

  1. 航海家司祖AppExpert >变量, und klicken Sie aufHinzufugen
  2. 民意调查Sie auf der Seite "变量erstellenim DropdownmenüGeltungsbereich肌萎缩性侧索硬化症Transaktion和肌萎缩性侧索硬化症文本eingeben来自。

    变量für ADC-Cookies erstellen

  3. 细节,细节,细节,细节Erstellen

Erstellen einer Aufgabe mit der GUI

Nachdem Sie eine变量konfiguriert haben, können Sie einen Wert zuweisen oder die操作angeben, die für die变量ausgeführt werden soll, indem Sie eine Zuweisung erstellen。

  1. 航海家司祖AppExpert > Zuweisungenund klicken Sie aufHinzufugen
  2. GebenSie auf der Seite Zuweisung erstellen死亡细节ein und klicken Sie aufErstellen

    Erstellen einer Zuweisung für ADC-Variablen

  1. 航海家司祖流量管理>负载均衡>负载均衡-参数ändern

    Ändern von lb-Parametern

  2. GebenSie im Bereich负载均衡-参数konfigurierendie entsprechenden Werte für eines der Felder ein, basierend auf Ihren Anforderungen:

    • 文字ADC-Cookie-Attribut
    • Berechnetes ADC-Cookie-Attribut

    konfigurieren Sie lb parameters.png

  3. Klicken Sie auf好吧

Um eine Richtlinie für eine bestimmte Anwendung anzuwenden, die auf der Citrix ADC Appliance konfiguriert ist, können Sie die Cookie-Attributparameter im lb - profilfestlegen, das an den anwendungsspezifischen virtuellen LB-Server gebunden ist。

死定势字面ADC Cookie属性im lb - proffil ermöglicht es Ihnen, die Cookie- attribute bedingungslos in das von ADC genererte Cookie einzufügen, das für einen virtuellen Server spezifisch ist。

Geben Sie an der Eingabeaufforderung Folgendes ein:

add lb profile  -LiteralADCCookieAttribute  

Beispiel:

add lb vserver lb - vserver - profile -1 -LiteralADCCookieAttribute SameSite=无add lb vserver lb - vserver -1 SSL 10.102.148.37 443 -persistenceType COOKIEINSERT -lbprofilename lb - vserver - profile -1 

死定势“Berechnetes ADC-Cookie-Attribut”im lb - profile ermöglicht es Ihnen, die Cookie- attribute baseerend auf den Client- oder server attribute in das dc -generierte Cookie einzufügen。Stellen Sie dieses lb - profile dann auf einen virtuellen LB-Server ein。

Geben Sie an der Eingabeaufforderung Folgendes ein:

add lb profile  -ComputedADCCookieAttribute  

Beispiel:

添加ns变量cookieattribute_var类型"text(100)"-scope transaction add ns assign 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"). sql ")。REGEX_SELECT (re / OS \ d + \ \ _ /) .REGEX_SELECT (re / \ d + /) .TYPECAST_NUM_T(十进制).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_sameesite_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_sameesite_attribute -priority 90 -gotoPriorityExpression 110 -type RESPONSE bind lb vserver lb - vserver -1 -policyName附录_samesite_attribute -priority 100 -gotoPriorityExpression 110 -type RESPONSE 
  1. 航海家司祖流量管理>负载均衡> Virtuelle服务器
  2. Wählen Sie einen virtuellen Server aus, und klicken Sie aufBearbeiten
  3. 我是AbschnittErweiterte设置汪汪汪概要hinzufugen

    服务器

  4. 我是Abschnitt配置文件汪汪汪Hinzufugen嗯在lb - profilzu erstellen。

    我们的老师,wählen我们的老师,DropdownmenüLB-Profil来自。

    概要hinzufugen

  5. Geben Sie im BereichLB-Profildie entsprechenden Werte für eines der Felder ein, die auf Ihrer Anforderung basieren:
  • 文字ADC-Cookie-Attribut
  • Berechnetes ADC-Cookie-Attribut

    Literal-berechnete LB profile.png中的属性

  1. Klicken Sie auf好吧
  2. Legen Sie das erstelle lb - profile auf den inSchritt 1erstellten virtuellen服务器盛会。

Überprüfen der ns- variable

Um zu überprüfen, ob die ADC nss-Variable in lb - parametern oder lb - proffil angemessen konfiguriert ist, verwenden Sie den Parameter show lb oder show lb profile。

在“桌子上的食物”aufgeführt,“我的生命”“我的生命”aufgeführt。

Warnmeldung 间的
Die NS-Variable ist nicht konfiguriert。Konfigurieren Sie es mit类型文本()和范围事务für变量 变量是不变的。
翻译的变化。 变量是konfiguriert, aber der Bereich ist nicht auf " Transaktion " festgelegt。
Der Typ Der Variablen ist nicht Text()。 变量是konfiguriert, aber der类型是“文本”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 generertes Cookie angehängt werden。zechen, Die Die maximale Länge überschreiten, werden abgeschnitten。

Beispiel-Ausgabe

我将会死,我将会死,我将会死。

设置lb参数-ComputedADCCookieAttribute "$lbvar"警告:NS变量未配置。请使用类型text()和范围transaction Done 

在der folgenden Ausgabe des Befehls的Die Warnmeldung wild显示lb参数angezeigt。

show lb parameter全局lb参数:Persistence Cookie HttpOnly Flag: ENABLED Use Encrypted Persistence Cookie: DISABLED Use Port For Hash lb: YES首选直连路由:YES Retain Service State: OFF启动RR因子:0 Skip Maxclient For Monitoring: DISABLED Monitor Connection Close: FIN使用consolidated stats For LeastConnection: YES允许基于mac模式的vserver从服务中选择返回流量:DISABLED允许绑定服务删除:ENABLED0秒Citrix ADC Cookie变量名:$lbvar(NS变量未配置。请使用类型text()和范围transaction配置它。——NeedCopy >

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

  • ad - cookie - attribute im lb - profile (LB-VServer-Profile-1)。
  • Legen Sie den Wert des字面ADC cookie - attributes fest, z. B. " SameSite=None ", im lb - proffil。
  • Legen Sie das lb - profile auf den virtuellen Lastausgleichsserver (LB-vServer-1) fest, 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 -domainName www.gslb.com -TTLadd service service-1 10.102.84.140 SSL 443 add lbprofile lb - vserver - profile -1 -LiteralADCCookieAttribute SameSite=无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 auh bedingt mit dem Berechneten adc - Cookie-Attribute einfügen。

Die folgende Beispielkonfiguration gilt, wenn mehrere Anwendungen hinter einem virtuellen内容切换服务器gehostet werden。Um dieselbe Richtlinie auf alle Anwendungen anzuwenden, binden Sie die Umschreibrichtlinien wie folgt an den virtuellen Content switch - server:

  • 在lb - parameter中设置ADC-Cookie-Attribute。

    Hinweis:

    Sie können die ADC-Cookie-Attribute auh im lb - profilfestlegen。

  • Konfigurieren Sie die ns-变量(cookieattribute_var) des类型,der auf文本和范围auf Transaktion festgeleist。
  • Setzen Sie das Berechnete ad - cookie - attribute in den globalen LB-Parametern mithilfe der ns-Variablen。
  • Legen Sie die重写richtlinien (exception_samesite_attribute und append_samesite_attribute) auf die virtuellen Content switch - server für das Einfügen der Cookie-Attribute fest。
添加ns变量cookieattribute_var类型"text(100)"-scope transaction set lb参数-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"). delete =None"REGEX_SELECT (re / OS \ d + \ \ _ /) .REGEX_SELECT (re / \ d + /) .TYPECAST_NUM_T(十进制).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重写策略exception_sameesite_attribute "pol_iphone || pol_chrome " NOREWRITE add重写策略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 . txt add lb vserver lb - vserver -1 SSL 10.102.148.36 443 add cs vserver cs - vserver -1 SSL 10.102.148.42 add cs action act1 -targetLBVserver v1 add cs action act2 -targetLBVserver v2 add cs policy cs -policy-1 -rule . txt“HTTP.REQ.URL.CONTAINS(“file1.html”)”添加cs -policy-2的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 
Einfügen von Cookie-Attributen zu ADC-generierten cookie