キャッシュリダイレクションポリシーを構成する
キャッシュリダイレクションポリシーには、1 つ以上の式 (ルールとも呼ばれる) が含まれます。各式は、クライアント要求がポリシーと比較されるときに評価される条件を表します。
キャッシュリダイレクションポリシーのアクションは明示的に構成しません。デフォルトでは、Citrix ADCアプライアンスは、ポリシーに一致する要求をキャッシュ不可能と見なし、要求をキャッシュではなくオリジンサーバーに送信します。
クラシックポリシー形式に基づくキャッシュリダイレクションポリシーは、クラシックキャッシュリダイレクションポリシーと呼ばれます。このような各ポリシーには名前があり、論理演算子を使用して結合されたクラシック式またはクラシック式のセットが含まれます。
クラシックキャッシュリダイレクションポリシーでは、ポリシーのアクションを明示的に構成しません。デフォルトでは、Citrix ADCアプライアンスは、ポリシーに一致する要求をキャッシュ不可能と見なし、要求をキャッシュではなくオリジンサーバーに送信します。
新しいポリシー形式に基づくキャッシュリダイレクトポリシーは、高度なリダイレクトポリシーと呼ばれます。このようなポリシーには名前があり、高度なポリシー式、または論理演算子を使用して結合された一連の高度なポリシー式、および次の組み込みアクションが含まれます。
- キャッシュ
- ORIGIN
クラシック式と高度なポリシー式の詳細については、「ポリシーと式」を参照してください。
CLI を使用したキャッシュリダイレクションポリシーの追加
コマンドプロンプトで次のコマンドを入力して、キャッシュリダイレクトポリシーを追加し、構成を確認します。
——添加cr政策< policyName > \ * * \ \ *规则\ * < exprsion> - show cr policy []
例:
単純な表現のポリシー:
> add cr policy-CRD-1 -rule "REQ.HTTP.URL != /\*.jpeg" Done > show cr policy-CRD-1 Cache-By-Pass RULE: REQ.HTTP.URL != '/\*.jpeg' Policy:Policy-CRD-1 Done
複合式を含むポリシー:
>添加cr policy-CRD-2 REQ.HTTP规则”。方法= =阿宝ST && (REQ.HTTP.URL == /\*.cgi || REQ.HTTP.URL != /\*.gif)" Done > show cr policy-CRD-2 Cache-By-Pass RULE: REQ.HTTP.METHOD == POST && (REQ.HTTP.URL == '/\*.cgi' || REQ.HTTP.URL != '/\*.gif') Policy:Policy-CRD-2 Done
ヘッダーを評価するポリシー:
> add cr policy-CRD-3 -rule "REQ.HTTP.HEADER If-Modified-Since EXISTS" Done > show cr policy-CRD-3 Cache-By-Pass RULE: REQ.HTTP.HEADER If-Modified-Since EXISTS Policy:Policy-CRD-3 Done
CLI を使用して高度なポリシーキャッシュリダイレクトポリシーを追加する
コマンドプロンプトで次のコマンドを入力して、キャッシュリダイレクトポリシーを追加し、構成を確認します。
——添加cr政策< policyName > \ * * \ \ *规则\ * < exprsion> [-action] [-logAction] - show cr policy []
例:
単純な表現のポリシー:
> add cr policy crpol1 -rule !(HTTP.REQ.URL.ENDSWITH(".jpeg”)) -action origin Done > show cr policy crpoll Policy: crpol1 Rule: !(HTTP.REQ.URL.ENDSWITH(".jpeg")) Action: ORIGIN Done
複合式を含むポリシー:
> add cr policy crpol11 -rule "http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi"))" -action cache Done > show cr policy crpol11 Policy: crpol11 Rule: http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi")) Action: CACHE Done
ヘッダーを評価するポリシー:
> add cr policy crpol12 -rule http.req.header("If-Modified-Since").exists -action origin Done > show cr policy crpol12 Policy: crpol12 Rule: http.req.header("If-Modified-Since").exists Action: ORIGIN Done
CLI を使用してキャッシュリダイレクトポリシーを変更または削除する
- キャッシュリダイレクションポリシーを変更するには、set cr policy コマンドを使用します。これは、既存のポリシーの名前を入力する点を除いて、add cr policy コマンドと同様です。
- ポリシーを削除するには、\
引数のみを受け入れる rm cr policy
コマンドを使用します。ポリシーが仮想サーバにバインドされている場合は、ポリシーを削除する前に、ポリシーをバインド解除する必要があります。
キャッシュリダイレクトポリシーのバインド解除の詳細については、「キャッシュリダイレクト仮想サーバーからポリシーをバインド解除する」を参照してください。
GUI を使用して単純な式を使用してキャッシュリダイレクションポリシーを構成する
[トラフィック管理] > [キャッシュリダイレクト] > [ポリシー] に移動します。
詳細ペインで、[Add] をクリックします。
[キャッシュリダイレクトポリシーの作成] ダイアログボックスの [名前*] テキストボックスにポリシーの名前を入力し、[式] 領域で [追加] をクリックします。
単純式を設定するには、式を入力します。次に示すのは、URL内の
.jpeg
拡張子をチェックする式の例です。- 式タイプ-一般
- フロータイプ-REQ
- プロトコル-HTTP
- 修飾子-URL
- オペレーター-!=
- 値-/.jpeg
次の例の単純な式は、リクエスト内の IF-Modified-Since ヘッダーをチェックします。
- 式タイプ-一般
- フロータイプ-REQ
- プロトコル-HTTP
- クオリファイア-HEADER
- 演算子-EXIST
- ヘッダー名-If-Modified-Snice
式の入力が終了したら、「OK」または「作成」をクリックし、「閉じる」をクリックします。
GUI を使用した複合式を使用したキャッシュリダイレクションポリシーの設定
[トラフィック管理] > [キャッシュリダイレクト] > [ポリシー] に移動します。
詳細ペインで、[Add] をクリックします。
[名前] テキストボックスに、ポリシーの名前を入力します。
名前は、英字、数字、またはアンダースコア記号で始まり、1 ~ 127 の文字、数字、およびハイフン(-)、ピリオド(.)、ポンド(#)、スペース()、アットマーク(@)、等号(=)、およびアンダースコア(_)記号で構成できます。このポリシーが検出するために作成されたコンテンツの種類を他のユーザーが簡単に判別できるような名前を選択する必要があります。
作成する複合式のタイプを選択します。選択肢は次のとおりです:
任意の式に一致します。ポリシーは、1 つ以上の個別の式がトラフィックに一致する場合、トラフィックと一致します。
[すべての式に一致]。ポリシーは、個々の式がすべてトラフィックに一致する場合にのみ、トラフィックを照合します。
表式。[式] リストを 3 列の表形式に切り替えます。右端の列に、次のいずれかの演算子を配置します。
- AND [ &&演算子は ] 、ポリシーを一致させるには、リクエストが現在の式と次の式の両方と一致する必要があります。
-
OR [ ] 演算子。ポリシーを一致させるには、要求が現在の式または次の式のいずれか、またはその両方と一致する必要があります。リクエストがどちらの式にも一致しない場合にのみ、ポリシーと一致しません。
既存の式を選択し、次のいずれかの演算子をクリックして、ネストされたサブグループ内の式をグループ化することもできます。
- BEGIN SUBGROUP [+(演算子) ] 。選択した式でネストされたサブグループを開始するようにCitrix ADCアプライアンスに指示します。(式からこの演算子を削除するには、-(.) をクリックします。
- END SUBGROUP [+) ] 演算子。選択した式で現在のネストされたサブグループを終了するようにCitrix ADCアプライアンスに指示します。(式からこの演算子を削除するには、[-] をクリックします)。
高度なフリーフォーム。エクスプレッションエディタ (Expressions Editor) を完全にオフにし、エクスプレッションリストを、複合エクスプレッションを入力できるテキスト領域にします。これは、ポリシー式を作成するための最も強力で難しい方法であり、Citrix ADCクラシック式言語に精通している方のみに推奨されます。
アドバンスト・フリー・フォーム・テキスト・エリアでのクラシック式の作成の詳細については、「クラシックポリシーと式の設定」を参照してください。
注意:アドバンスフリーフォーム式編集モードに切り替えると、他のモードに戻すことはできません。このエクスプレッション編集モードは、使用が確実でない限り選択しないでください。
[任意の式に一致]、[すべての式に一致]、または [表形式の式] を選択した場合は、[追加] をクリックして [式の追加] ダイアログボックスを表示します。
キャッシュリダイレクションポリシーの場合は、式の種類を [全般] に設定しておく必要があります。
[フロータイプ(Flow Type)] ドロップダウンリストで、式のフロータイプを選択します。
フロータイプは、ポリシーが着信接続と発信接続のどちらを検査するかを決定します。次の 2 つの選択肢があります。
- REQ。着信接続または要求を検査するようにCitrix ADCアプライアンスを構成します。
- RES。発信接続または応答を検査するようにアプライアンスを設定します。
[プロトコル(Protocol)] ドロップダウンリストで、式のプロトコルを選択します。
プロトコルは、ポリシーが要求または応答で調べる情報のタイプを決定します。前のドロップダウンリストで [REQ] と [RES] のどちらを選択したかに応じて、次の 4 つの選択肢すべて、または 3 つだけを選択できます。
- HTTP。HTTP ヘッダーを検査するようにアプライアンスを設定します。
- SSL。SSL クライアント証明書を検査するようにアプライアンスを設定します。前のドロップダウンリストで [REQ (requests)] を選択した場合にのみ使用できます。
- TCP。TCP ヘッダーを検査するようにアプライアンスを設定します。
- IP。送信元または宛先 IP アドレスを検査するようにアプライアンスを設定します。
[修飾子] ドロップダウンリストから式の修飾子を選択します。
[Qualifier] ドロップダウンリストの内容は、選択したプロトコルによって異なります。次の表に、各プロトコルで使用できる選択肢を示します。
表1. 各プロトコルで使用できるキャッシュリダイレクションポリシー修飾子
プロトコル クオリファイア 定義 HTTP METHOD リクエストで使用される HTTP メソッド。 - URL URL ヘッダーの内容。 - URLTOKENS HTTP ヘッダー内の URL トークン。 - VERSION 接続の HTTP バージョン。 - HEADER HTTP リクエストのヘッダー部分。 - URLLEN URLヘッダーのコンテンツの長さ。 - URLQUERY URL ヘッダーの内容のクエリ部分。 - URLQUERYLEN URL ヘッダーのクエリ部分の長さ。 SSL CLIENT.CERT SSL クライアント証明書全体。 - CLIENT.CERT.SUBJECT クライアント証明書のサブジェクトフィールドの内容。 - CLIENT.CERT.ISSUER クライアント証明書の発行者。 - CLIENT.CERT.SIGALGO クライアント証明書で使用される署名アルゴリズム。 - CLIENT.CERT.VERSION クライアント証明書のバージョン。 - CLIENT.CERT.VALIDFROM クライアント証明書が有効になる日付。(開始日。) - CLIENT.CERT.VALIDTO クライアント証明書が無効になる日付。(終了日。) - CLIENT.CERT.SERIALNUMBER クライアント証明書のシリアル番号。 - CLIENT.CIPHER.TYPE クライアント証明書で使用される暗号化方式。 - CLIENT.CIPHER.BITS 暗号化キーの有効ビット数。 - CLIENT.SSL.VERSION クライアント証明書の SSL バージョン。 TCP SOURCEPORT TCP 接続の送信元ポート。 - DESTPORT TCP 接続の宛先ポート。 - MSS TCP 接続の最大セグメントサイズ (MSS)。 IP SOURCEIP 接続の送信元 IP アドレス。 - DESTIP 接続の宛先 IP アドレス。 [演算子] ドロップダウンリストから式の演算子を選択します。
選択内容は、前の手順で選択した修飾子によって異なります。このドロップダウンリストに表示できる演算子の完全なリストは次のとおりです。
- == . 次のテキスト文字列と完全に一致します。
- != . 次のテキスト文字列と一致しません。
-
. 次の整数より大きい。
- CONTAINS . 次のテキスト文字列が含まれます。
- CONTENTS . 指定されたヘッダー、URL、または URL クエリの内容。
- EXISTS . 指定されたヘッダーまたはクエリが存在します。
- NOTCONTAINS . 次のテキスト文字列は含まれません。
- NOTEXISTS . 指定されたヘッダーまたはクエリは存在しません。
このポリシーを特定のホストに送信されたリクエストに対して動作させる場合は、デフォルトの等号 (==) 記号のままにしておきます。
[値] テキストボックスが表示されている場合は、適切な文字列または数字をテキストボックスに入力します。
たとえば、このポリシーでホスト shopping.example.com に送信されるリクエストを選択する場合は、その文字列を [値] テキストボックスに入力します。
修飾子として HEADER を選択した場合は、[ヘッダー名] テキストボックスに目的のヘッダーを入力します。
「OK」をクリックして、エクスプレッションを「エクスプレッション」リストに追加します。
ステップ 4 ~ 11 を繰り返して、追加の式を作成します。
[閉じる] をクリックして [式の追加] ダイアログボックスを閉じ、[キャッシュリダイレクトポリシーの作成] ダイアログボックスに戻ります。