-
-
-
VMware ESX、Linux KVM、およびCitrix HypervisorでNetScaler ADC VPXのパフォーマンスを最適化する
-
-
NetScalerアプライアンスのアップグレードとダウングレード
-
-
-
-
-
-
-
-
-
-
-
ADCで生成されたCookieに属性を挿入する
-
-
-
-
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
ADCで生成されたCookieに属性を挿入する
Web管理者は、NetScalerアプライアンスによって生成されたCookieに他のCookie属性を挿入できます。これらの追加のCookie属性は、アプリケーションのアクセスパターンに基づいてADCが生成したCookieに必要なポリシーを適用するのに役立ちます。
以下の機能は、ADC が生成した Cookie を使用して永続性を実現します。
- ロードバランシングCookie パーシステンス
- 負荷分散グループの Cookie パーシステンス
- GSLB サイトパーシスタンス
- コンテンツスイッチングクッキーの永続性
次のパラメータを使用して、ADC が生成した Cookie に他の Cookie 属性を挿入できます。
-
literaladcCookieAttribute: ADC が生成したクッキーに、他のクッキー属性を文字列として追加します。
-
ComputedADCCookieAttribute: ADC ns変数を使用して、クライアントまたはサーバーの属性(ユーザーエージェントのバージョンなど)に基づいて、ADCで生成されたCookieにCookie属性を条件付きで追加します。
注
リテラル ADC Cookie 属性と計算された ADC Cookie 属性の両方を、ロードバランシングパラメータまたは単一のロードバランシングプロファイルで同時に設定することはできません。
使用事例:SameSite Cookie 属性の設定
すべてのCookie にはドメインが関連付けられています。クッキーのドメインがユーザーのアドレスバーのウェブサイトドメインと一致する場合、同じサイト(またはファーストパーティ)のコンテキストと見なされます。Cookie に関連付けられたドメインが外部サービスと一致し、ユーザーのアドレスバーにあるウェブサイトと一致しない場合、これはクロスサイト(またはサードパーティ)コンテキストと見なされます。
SameSite 属性は、Cookie をクロスサイトコンテキストに使用できるか、同一サイトコンテキストにのみ使用できるかをブラウザに示します。また、アプリケーションにクロスサイトコンテキストでアクセスする場合は、HTTPS 接続を介してのみアクセスすることができます。詳細については、 RFC6265を参照してください。
2020年2月まで、 SameSiteプロパティはCitrix ADCで明示的に設定されていませんでした。ブラウザはデフォルト値を「なし」に設定し、NetScalerの展開には影響しませんでした。
ただし、Google Chrome 80などの特定のブラウザをアップグレードすると、Cookieのデフォルトのクロスドメイン動作が変更されます。 SameSite 属性は、次のいずれかの値に設定できます。Google Chromeのデフォルト値はLaxに設定されています。
- なし: 安全な接続でのみクロスサイトコンテキストで Cookie を使用するようブラウザに指示します。
- Lax: ブラウザが同じサイトコンテキストでのリクエストに Cookie を使用するように指示します。クロスサイトコンテキストでは、GETリクエストなどの安全なHTTPメソッドのみがCookieを使用できます。
- Strict: 同じサイトのコンテキストでのみCookieを使用します。
Cookie に SameSite 属性がない場合、Google Chrome は SameSite=LAX の機能を引き継ぎます。
注
他のブラウザーの特定のバージョンでは、SameSite 属性のデフォルト値が Noneに設定されることがあります。一部のブラウザバージョンでは、「SameSite = 「なし」は別の方法で扱うことができます。たとえば、以下のブラウザは「SameSite = none」の付いたCookie を拒否します。
- Chrome51からChrome66までのChromeのバージョン(両端を含む)
- Android の UC ブラウザのバージョン 12.13.2 より前のバージョン
ADCで生成されたCookieを構成する
ADC が生成する Cookie 属性を設定するには、以下を実行する必要があります。
- 負荷分散仮想サーバーを作成する
- LB パラメータまたは LB プロファイルを使用して、負荷分散仮想サーバの ADC Cookie 属性を設定します。
- LB プロファイルを使用する場合は、LB プロファイルを負荷分散仮想サーバーに設定します。
- Computed ADC Cookie 属性を使用する場合は、関連する書き換えポリシーを設定してください。
注
LB プロファイルが LB 仮想サーバーにバインドされている場合、グローバル LB パラメータ設定の代わりにプロファイルパラメータ設定が考慮されます。
ADC が生成する Cookie 属性は、次の方法で設定できます。
- ロードバランシングパラメータの ADC Cookie 属性の設定
- ロードバランシングプロファイルの ADC Cookie 属性の設定
CLI を使用してロードバランシングパラメータで ADC Cookie 属性を設定する
NetScalerアプライアンスで構成されたすべてのアプリケーションのADC生成Cookieにポリシーを均一に適用するには、グローバルLBパラメータでADC Cookie属性を設定します。
リテラルADCCookie属性 設定を使用すると、ADCで生成されたCookieにCookie属性を無条件に挿入できます。
コマンドプロンプトで入力します:
set lb parameter -LiteralADCCookieAttribute <string>
<!--NeedCopy-->
例:
set lb parameter -LiteralADCCookieAttribute SameSite=None
<!--NeedCopy-->
計算された ADC Cookie 属性設定では 、クライアントまたはサーバーの属性に基づいて、ADC が生成する Cookie に条件付きで Cookie 属性を挿入できます。
コマンドプロンプトで入力します:
set lb parameter -ComputedADCCookieAttribute <ns variable>
<!--NeedCopy-->
例:
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
<!--NeedCopy-->
GUI を使用して変数を設定する
- AppExpert > 変数に移動し、「 追加」をクリックします。
-
「 変数の作成 」ページで、ドロップダウンメニューから「 スコープ」を「トランザクションとしてスコープ** 」を選択し、「テキストとしてタイプ** 」を選択します。
- その他の詳細を入力して、[ 作成] をクリックします。
GUI を使用して課題を作成する
変数を設定したら、値を割り当てるか、代入を作成して変数に対して実行する操作を指定できます。
- AppExpert > Assignmentsに移動してAddをクリックします。
- [ 割り当ての作成] ページで、詳細を入力し、[ 作成] をクリックします。
GUI を使用したロードバランシングパラメータでの ADC Cookie 属性の設定
-
[トラフィック管理] > [負荷分散] > [負荷分散パラメータの変更] に移動します。
-
[ 負荷分散パラメータの設定 ] ペインで、要件に基づいていずれかのフィールドに適切な値を入力します。
- リテラル ADC クッキー属性
- 計算された ADC クッキー属性
-
[OK] をクリックします。
CLI を使用したロードバランシングプロファイルでの ADC Cookie 属性の設定
NetScalerアプライアンスで構成された特定のアプリケーションにポリシーを適用するには、アプリケーション固有のLB仮想サーバーにバインドされたLBプロファイルのCookie属性パラメータを設定できます。
LBプロファイルの リテラルADCCookie属性 設定を使用すると、仮想サーバーに固有のADC生成CookieにCookie属性を無条件に挿入できます。
コマンドプロンプトで入力します:
add lb profile <profile name> -LiteralADCCookieAttribute <string>
<!--NeedCopy-->
例:
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
<!--NeedCopy-->
LB プロファイルの Computed ADC Cookie 属性設定を使用すると 、クライアントまたはサーバーの属性に基づいて、ADC が生成する Cookie に条件付きで Cookie 属性を挿入できます。次に、この LB プロファイルを LB 仮想サーバーに設定します。
コマンドプロンプトで入力します:
add lb profile <profile name> -ComputedADCCookieAttribute <ns variable>
<!--NeedCopy-->
例:
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
<!--NeedCopy-->
GUI を使用したロードバランシングプロファイルでの ADC Cookie 属性の設定
- Traffic Management > Load Balancing > Virtual Serversに移動します。
- 仮想サーバを選択し、[ 編集(Edit)] をクリックします。
-
[ 詳細設定 ] セクションの [ プロファイルの追加] をクリックします。
-
「 プロファイル 」セクションで、「 追加 」をクリックして LB プロファイルを作成します。
プロファイルをすでに作成している場合は、[ LB Profile] ドロップダウンメニューからプロファイルを選択します 。
- [ LBプロファイル] ペインで、要件に基づいて、いずれかのフィールドに適切な値を入力します。
- リテラル ADC クッキー属性
-
計算された ADC クッキー属性
- [OK] をクリックします。
- 作成したLBプロファイルを、 手順1で作成したLB仮想サーバーに設定します。
ns 変数設定の検証
ADC ns 変数が LB パラメータまたは LB プロファイルで適切に設定されていることを確認するには、show lb パラメータまたは show lb profile コマンドを使用します。
次の表は、ns 変数が正しく設定されていない場合のさまざまな警告メッセージとその原因を示しています。
警告メッセージ | 理由 |
---|---|
NS 変数は設定されていません。text () とタイプして変数にスコープトランザクションを設定してください | NS 変数はまだ設定されていません。 |
設定された NS 変数の範囲はトランザクションではありません。 | 変数は設定されていますが、スコープが「トランザクション」に設定されていません。 |
変数のタイプは Text () ではありません。 | 変数は構成されていますが、タイプが「テキスト」に設定されていません。 |
NS 変数に設定された値の最大サイズが 255 を超えています。 | NS 変数に設定された値は 255 文字を超えています。注: ADCで生成されたCookieには、最大255文字の長さを追加できます。最大長を超える文字は切り捨てられます。 |
出力例
次の例では、ns 変数が設定されていない場合に警告メッセージが表示されます。
set lb parameter -ComputedADCCookieAttribute "$lbvar"
Warning: NS Variable is not configured. Please configure it with type text() and scope transaction
Done
<!--NeedCopy-->
警告メッセージは、 show lb parameter
次のコマンドの出力に表示されます。
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
<!--NeedCopy-->
GSLB デプロイメントに Cookie 属性を挿入するためのサンプル設定
次の設定例は、LB 仮想サーバーに対応する GSLB サービスで設定されたサイトパーシスタンスに適用されます。GSLB Cookie にいくつかのクッキー属性を追加するには、以下の設定を行います。
- LB プロファイル (LB-VServer-Profile-1) に ADC Cookie 属性を設定します。
- LB プロファイルに「SameSite=None」などのリテラル ADC クッキー属性値を設定します。
- LB プロファイルを GSLB サービスを表す負荷分散仮想サーバー (LB-VServer-1) に設定します。
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
<!--NeedCopy-->
注
また、計算された ADC Cookie 属性を使用して Cookie 属性を条件付きで挿入することもできます。
コンテンツスイッチングデプロイメントに Cookie 属性を挿入するための設定例
次の設定例は、複数のアプリケーションがコンテンツスイッチング仮想サーバーの背後でホストされている場合に適用されます。すべてのアプリケーションに同じポリシーを適用するには、次のように、書き換えポリシーを LB 仮想サーバーではなくコンテンツスイッチング仮想サーバーにバインドします。
- LB パラメータに ADC Cookie 属性を設定します。
注:
ADC Cookie 属性は LB プロファイルでも設定できます。
- タイプを [テキスト] に、[スコープ] を [トランザクション] に設定した ns 変数 (cookieattribute_var) を設定します。
- ns 変数を使用して、計算された ADC Cookie 属性をグローバル LB パラメータに設定します。
- Cookie 属性を挿入するためのリライトポリシー (exception_samesite_attribute と append_samesite_attribute) をコンテンツスイッチング仮想サーバーに設定します。
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
<!--NeedCopy-->
共有
共有
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.