Insérer des attributes de cookie aux cookies générés par ADC
Les administrateurs Web peuvent insérer d 'autres attributes de cookies dans Les cookies générés par l 'appliance Citrix ADC。cesattributs de cookies supplémentaires aident à appliquer les politiques requises pour les cookies générés par ADC en function du modèle d 'accès à l 'application。
Les fonctionnalités suivantes utilent Les cookies générés par ADC pour obtenir la persistance。
- 持久化des cookie d ' équilibrage de charge
- 持久性des cookies du groupe d ' équilibrage de charge
- 站点持久性GSLB
- 持久化,cookie,交换,内容
Vous pouvez insérer d 'autres attributs de cookie dans les cookies générés par ADC à l 'aide des paramètres suivants:
LiteralAdcCookieAttribute:ajoutez d 'autres attributes de cookie au cookie généré par ADC, sous forme de chaîne。
ComputedAdcCookieAttribute:利用可变ADC ns pour ajouter conditionnellement des attributs de cookie au cookie généré par ADC, en function des attributs client ou server, par example, la version de l 'agent utilisateur。
标记
Vous ne pouvez pas configurer à la fois l ' attrbut de cookie ADC littéral et l ' attrbut de cookie ADC calculé, simultanément sur le paramètre d ' équilibrage de charge ou dans un seul proffil d ' équilibrage de charge。
Cas d 'utilisation: Configurer l ' attrbut de cookie SameSite
chque cookie a un domaine qui lui est associé。Lorsque le domaine d 'un cookie对应au domaine du site Web dans la barre d ' address de l 'utilisateur, cela est considéré comme un contexte de même site (ou de première party)。Si le域名associé à un cookie对应à un service external et non au site Web dan la barre d ' address de l 'utilisateur, cela est considéré comme un context intersite (ou tiers)。
L 'attributSameSiteIndique au navigateur si le cookie peut être utilisé pour UN context intersite ou uniquement pour UN context de même site。De plus, si une application a l ' intention d ' être consultée dans un context intersite, elle ne peut le faire que via la connexion HTTPS。Pour plus de détails, voirRFC6265.
钜曲恩février 2020, la propriétéSameSiten ' était pas explicitement définie dans Citrix ADC。Le navigateur a pris la valeur par défaut comme无任何影响sur les déploiements Citrix ADC。
ecendant, avec la mise à niveau de sure navigateurs, tels que谷歌Chrome 80, il y a unchangement dans le comement inter- domains par défaut des cookies。L 'attributSameSitePeut être défini sur l 'une des valeurs suivantes。La valeur par défaut de谷歌Chrome est définie sur Lax。
- 没有问题:inque que le navigateur doit utiliser UN cookie dans UN context站点间唯一连接sécurisées。
- 宽松的:Indique que le navigateur doit utiliser UN cookie pour les demandes dans le même context de site。Dans le context inter-site, seules les méthodes HTTP sûres comme la requête GET peuvent utiliser le cookie。
- 严格:Utilisez le cookie unique dans le context du même site。
S 'il n 'y a pas d 'attribut SameSite dans le cookie,谷歌Chrome assume la fonctionnalité de SameSite = Lax。
标记
倒某些版本的d 'autres navigateurs, la valeur par défaut de l 'attribut same esite peut être définie sur没有问题.Dans ceresversions du navigateur,«Samesite = none»peut être traité différemment。例如,les navigateurs suivants rejttent un cookie avec«SameSite = none»:
- 版本de Chrome de Chrome 51 à Chrome 66(包括sur les deux extrémités)
- 版本du navigateur UC sur Android antérieures à la版本12.13.2
配置les cookies générés par ADC
倒配置les属性de cookies générés par ADC, vous devez effectuer les opérations suivantes:
- Créer un server virtuel d ' équilibrage de charge
- Définissez les attributes de cookie ADC pour le server virtuel d ' équilibrage de charge, soit via les paramètres LB soit par le biais du profile LB。
- Si vous utilisez un profile LB, définissez le profile LB sur un servur virtuel d ' équilibrage de charge。
- Si vous choisissez d 'utiliser l ' attribute Cookie ADC calculé, configurez la stratégie de réécriture associée。
标记
Si un profile LB est lié à un server virtual LB, la configuration du paramètre de proffil est prise en compte au lieu de la configuration global des paramètres LB。
Vous pouvez définir les attributs de cookie générés par ADC par les méthodes suivantes:
- Définition des属性des cookie ADC dans les paramètres d ' équilibrage de charge
- Définition des属性des cookie ADC dans le profile d ' équilibrage de charge
Définition des属性des cookie ADC dans les paramètres d ' équilibrage de charge à l ' aide de l ' interface de ligne de command
倾注appliquer uniformément une stratégie aux cookies générés par ADC de toutes les applications configurées sur l 'appliance Citrix ADC, vous pouvez définir l ' attrbut cookie ADC dans les paramètres LB globaux。
勒的变量文字ADC Cookie属性vous permet d 'insérer inconditionnelment les attributes de cookie dans le cookie généré par ADC。
À l 'invite de commands, tapez:
设置lb参数-LiteralADCCookieAttribute
为例:
set lb parameter -LiteralADCCookieAttribute SameSite=None
勒的变量Calculé ADC Cookie属性vous permet d 'insérer conditionnelement les attributes de cookie, basés sur les attributes client ou server, dans le cookie généré par ADC。
À l 'invite de commands, tapez:
设置lb参数-ComputedADCCookieAttribute
为例:
添加ns变量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(十进制).EQ(12)。typecast_text_t ALT "false").eq("true"))"添加策略表达式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
配置变量à l 'aide de l 'interface graphique
- Accedez一AppExpert >变量, puis cliquez surAjouter.
Dans la pageCréer une变量, selectionnez展度En tant que事务等Tapez就像对于我Dans le菜单déroulant。
- 主菜détails,我们的晚餐克里尔.
Créer une affection à l 'aide de l 'interface graphique
Après avoir configuré une variable, vous pouvez影响une value ou spécifier l 'opération à effect er sur la variable en créant une afftation。
- Accedez一AppExpert >影响, puis cliquez surAjouter.
Dans la pageCréer un devoir, entrez les détails, puis cliquez sur克里尔.
Définition des属性des cookie ADC dans les paramètres d ' équilibrage de charge à l ' aide de l ' interface graphique
Accedez一Gestion du traffic > Équilibrage de charge > Modifier les paramètres d ' équilibrage de charge.
Dans le volet配置les paramètres d’équilibrage de charge, entrz les valeurs appropriées pour l 'UN des champs en function de vos besoins:
- 文字ADC Cookie属性
- 计算ADC Cookie属性
双击苏尔好吧.
Définition des属性des cookie ADC dans le profile d ' équilibrage de charge à l ' aide de l ' interface de ligne de command
Pour appliquer une stratégie à une application spécifique configurée sur l 'appliance Citrix ADC, vous pouvez définir les paramètres de l ' attribute de cookie dans le profile LB lié au server virtuel LB spécifique à l 'application。
Le paramètre d '属性Cookie ADC文字dans le profile LB vous permet d 'insérer inconditionnelment les attributes de cookie dans le cookie généré par ADC spécifique à un server virtuel。
À l 'invite de commands, tapez:
add lb profile -LiteralADCCookieAttribute
为例:
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
勒的变量Calculé ADC Cookie属性dans le profile LB vous permet d 'insérer conditionnelment les attributes de cookie basés sur les attributes client ou server, dans le cookie généré par ADC。Ensuite, définissez ce profile LB sur un server virtuel LB。
À l 'invite de commands, tapez:
add lb profile -ComputedADCCookieAttribute
为例:
添加ns变量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(十进制).EQ(12)。typecast_text_t ALT "false").eq("true"))"添加策略表达式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 write policy exception_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE add write 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 -policyNameappend_samesite_attribute -priority 100 -gotoPriorityExpression 110 -type RESPONSE
Définition des属性ADC Cookie dans le profile d ' équilibrage de charge à l ' aide de l ' interface graphique
- Accedez一Gestion du traffic > Équilibrage de charge > serverurs virtuels.
- Sélectionnez un server virtuel et cliquez sur修饰符.
苏产品的皇冠, cliquez surAjouter des profils.
丹斯拉节的资料, cliquez surAjouterpour créer un profile LB。
Si vous avez déjà créé un profile, choisissez-le dans le menu déroulant《Profil磅.
- Dans le volet《Profil磅, entrz les valeurs appropriées pour l 'UN des champs en function de vos besoins:
- 文字ADC Cookie属性
计算ADC Cookie属性
- 双击苏尔好吧.
- Définissez le profile LB créé sur le server virtuel LB créé à l '兵站1.
Vérifier la配置变量ns
倒vérifier que la可变ADC ns est校正configurée dans les paramètres LB ou le profile LB, utilisez le paramètre show LB ou show LB profile命令。
正确的画面répertorie正确的différents正确的原因,错误的变量纠正configurée。
消息d 'avertissement | 葡萄干 |
---|---|
La变量nsn 'est pas configurée。Configurez-le avec le type text () et la transaction d ' étendue pour la variable | La变量NS n 'est pas encore configurée。 |
L ' étendue de la变量NS configurée n ' est pas une事务。 | La variable est configurée mais l ' étendue n ' est pas définie sur«transaction»。 |
Le类型变量n 'est pas Texte()。 | La变量est configurée mais le type n 'est pas défini sur«Texte»。 |
La taille maximale de valeur configurée pour La variable NS est supérieure à 255。 | La valeur configurée pour La variable NS est supérieure à 255 caractères。标记:une longueur maximale de 255 caractères peut être ajoutée à un cookie généré par ADC。Les caractères qui dépassent la longueur maximale sont tronqués。 |
出动的例子
但我的例子,我的信息,我的诗,我的诗,变量的诗configurée。
set lb parameter -ComputedADCCookieAttribute "$lbvar"警告:NS变量未配置。请使用类型text()和范围事务Done
我想说的是,我不知道该怎么行动显示lb参数
对。
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 Start RR Factor: 0 Skip Maxclient For Monitoring: DISABLED Monitor Connection Close: FIN使用consolidated stats For LeastConnection: YES允许基于mac模式的vserver从服务中选择返回流量:DISABLED允许绑定服务移除:ENABLED TTL For Domain based Server:0 secs Citrix ADC Cookie变量名称:$lbvar(NS变量未配置。请配置类型文本()和范围事务)完成
举例de配置倒insérer des属性de cookie dans le déploiement GSLB
L ' instance de configuration suivante à la persistance de site configurée sur les services GSLB correspondant à un server virtuel LB. Pour ajouter des attributs de cookies supplémentaires aux cookies GSLB, effectuez la configuration suivante。
- Définissez les attributes de cookie ADC dans le profile LB (LB-vserver-profile-1)。
- Définissez la valeur de l ' attribute Cookie ADC文字,例如«Samesite=none»,dans le profile LB。
- Définissez le profile LB sur le server virtuel d ' équilibrage de charge (LB-vserver-1), qui représente le service GSLB。
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 -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
标记
Vous pouvez également insérer conditionnellement les attributs de cookie à l 'aide de l 'attribut cookie ADC calculé。
举例de配置pour insérer un attribute de cookie dans le déploiement de commutation de contentu
L ' example de configuration suivant s 'applique lorsque plusieurs应用sont hébergées derrière un servur virtuel de commutation de contenu。Pour appliquer la même stratégie à toutes les applications, liez les stratégies de réécriture au servur virtuel de veration de contentu au lieu du servur virtuel LB, comme suit:
- Définissez les属性de cookie ADC dans les paramètres LB。
标记:
Vous pouvez également définir les attributs de cookie ADC dans le profile LB。
- 配置变量ns (cookieattribute_var) de输入définie sur Texte和Étendue définie sur Transaction。
- Définissez l ' attrbut Cookie ADC calculé dans les paramètres LB globaux à l 'aide de la变量ns。
- Définissez les stratégies de réécriture (exception_samesite_attribute et append_samesite_attribute) sur les servers virtuels de交换de内容pour l '插入des属性de cookie。
添加ns变量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(十进制).EQ(12)。typecast_text_t ALT "false").eq("true"))"添加策略表达式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_samesite_attribute "pol_iphone || pol_chrome " NOREWRITE添加重写策略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添加cs策略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