Citrix ADC

統合キャッシュのデフォルト設定

Citrix ADC統合キャッシュ機能では、デフォルト設定およびデフォルトコンテンツグループの初期設定を含む組み込みポリシーが提供されます。このセクションの情報は、組み込みポリシーと Default コンテンツグループのパラメータを定義します。

デフォルトのキャッシュ・ポリシー

統合キャッシュには、ポリシーが組み込まれています。Citrix ADCアプライアンスは、次のセクションで説明するように、特定の順序でポリシーを評価します。

これらの組み込みポリシーは、要求時間上書きまたは応答時間上書きポリシーバンクにバインドされたユーザー定義ポリシーで上書きできます。

注: リリース 9.0 より前のポリシーを構成し、ポリシーのバインド時に-precedeDefRules パラメータを指定した場合、移行中に上書き時のバインドポイントに自動的に割り当てられます。

デフォルトポリシーの表示

組み込みのポリシー名は、アンダースコア(_)で始まります。組み込みポリシーは、コマンドラインおよび管理コンソールから show cache policy コマンドを使用して表示できます。

デフォルトのリクエストポリシー

次の組み込み要求時間ポリシーを上書きするには、新しいポリシーを設定し、それらを要求時間上書き処理ポイントにバインドします。次のポリシーでは、MAY_NOCACHE アクションは、応答時にユーザー設定または組み込みの CACHE ディレクティブがある場合にのみトランザクションがキャッシュされることを規定していることに注意してください。

次のポリシーは、_reqBuiltinDefaults ポリシーラベルにバインドされています。これらの項目は、優先順に表示されます。

GET 以外のメソッドを使用するリクエストに対するレスポンスをキャッシュしないでください。

ポリシー名は _nonGetReq です。次に、ポリシールールを示します。

!HTTP.REQ.METHOD.eq(GET)

ヘッダー値が If-Match または If-Unmodified-Since を含むリクエストに対して NOCACHE アクションを設定します。

ポリシー名は _advanced条件付き必須です。次に、ポリシールールを示します。

HTTP.REQ.HEADER("If-Match").EXISTS || HTTP.REQ.HEADER("If-Unmodified-Since").EXISTS

Cookie、承認、プロキシ承認、または NTLM または Negotiate ヘッダーを含む要求:要求に対して MAY_NOCACHE アクションを設定します。

ポリシー名は _personalizedReq です。次に、ポリシールールを示します。

HTTP.REQ.HEADER("Cookie").EXISTS || HTTP.REQ.HEADER("Authorization").EXISTS || HTTP.REQ.HEADER("Proxy-Authorization").EXISTS || HTTP.REQ.IS_NTLM_OR_NEGOTIATE

デフォルトのレスポンス・ポリシー

次のデフォルトの応答時間ポリシーを上書きするには、新しいポリシーを設定し、応答時間の上書き処理ポイントにバインドします。

次のポリシーは、 _resBuiltinDefaults ポリシーラベルにバインドされ、リストされている順序で評価されます。

  1. HTTP 応答がタイプ 200、304、307、203 の場合、またはタイプが 400 ~ 499 の場合、または 300 ~ 302 の場合以外は HTTP 応答をキャッシュしないでください。

    ポリシー名は _uncacheableStatusResです。次に、ポリシールールを示します。

    !((HTTP.RES.STATUS.EQ(200)) || (HTTP.RES.STATUS.EQ(304)) || (HTTP.RES.STATUS.BETWEEN(400,499)) || (HTTP.RES.STATUS.BETWEEN(300, 302)) || (HTTP.RES.STATUS.EQ(307))|| (HTTP.RES.STATUS.EQ(203)))

  2. Accept-Encoding以外の値を持つVaryヘッダーがある場合は、HTTPレスポンスをキャッシュしないでください。

    圧縮モジュールは、Vary:Accept_Encodingヘッダーを挿入します。この式の名前は、 _unacheableVaryResです。次に、ポリシールールを示します。

    ((HTTP.RES.HEADER("Vary").EXISTS) && ((HTTP.RES.HEADER("Vary").INSTANCE(1).LENGTH > 0) || (!HTTP.RES.HEADER("Vary").STRIP_END\_WS.SET_TEXT_MODE(IGNORECASE).eq("Accept-Encoding"))))

  3. Cache-Control ヘッダー値が [キャッシュしない]、[ストアしない]、または [プライベート] の場合、またはキャッシュ制御ヘッダーが有効でない場合は、レスポンスをキャッシュしないでください。

    ポリシー名は _uncacheableキャッシュコントロールです。次に、ポリシールールを示します。

    ((HTTP.RES.CACHE\_CONTROL.IS\_PRIVATE) || (HTTP.RES.CACHE\_CONTROL.IS\_NO\_CACHE) || (HTTP.RES.CACHE\_CONTROL.IS\_NO\_STORE) || (HTTP.RES.CACHE\_CONTROL.IS\_INVALID))

  4. キャッシュ制御ヘッダーに次のいずれかの値がある場合、応答をキャッシュします。パブリック、再確認する必要があります、プロキシ再確認、最大有効期間、S-Maxage。

    ポリシー名は _キャッシュ可能キャッシュコントロールです。次に、ポリシールールを示します。

    ((HTTP.RES.CACHE_CONTROL.IS_PUBLIC) || (HTTP.RES.CACHE_CONTROL.IS_MAX_AGE) || (HTTP.RES.CACHE_CONTROL.IS_MUST_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_PROXY_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_S_MAXAGE))

  5. Pragma ヘッダーを含むレスポンスをキャッシュしないでください。

    ポリシーの名前は _uncacheableプラグマレです。次に、ポリシールールを示します。

    HTTP.RES.HEADER("Pragma").EXISTS

  6. Expires ヘッダーを含むレスポンスをキャッシュします。

    ポリシーの名前は _キャッシュ可能有効期限です。次に、ポリシールールを示します。

    HTTP.RES.HEADER("Expires").EXISTS

  7. レスポンスに Image の値を持つ Content-Type ヘッダーが含まれている場合は、ヘッダー内の Cookie をすべて削除してキャッシュします。

    ポリシーの名前は _imageResです。次に、ポリシールールを示します。

    HTTP.RES.HEADER("Content-Type").SET_TEXT_MODE(IGNORECASE).STARTSWITH("image/")

    このポリシーを使用するように、次のコンテンツグループを構成できます。

    add cache contentgroup nocookie -group -removeCookies YES

  8. Set-Cookie ヘッダーを含むレスポンスをキャッシュしないでください。

    ポリシーの名前は、 _ パーソナライズされたResです。次に、ポリシールールを示します。

    HTTP.RES.HEADER(“Set-Cookie”).EXISTS   HTTP.RES.HEADER(“Set-Cookie2”).EXISTS

デフォルトポリシーの制限

次の組み込み要求時間ポリシーをユーザー定義ポリシーで上書きすることはできません。

これらのポリシーは、優先順に表示されます。

  1. 対応する HTTP リクエストに GET または POST メソッドがない場合は、応答をキャッシュしないでください。
  2. HTTP 要求 URL の長さとホスト名が 1744 バイトを超える場合は、要求に対する応答をキャッシュしないでください。
  3. If-Match ヘッダーを含むリクエストのレスポンスをキャッシュしないでください。
  4. If-Unmodified-Since ヘッダーを含むリクエストをキャッシュしないでください。

注: これは、変更-以来ヘッダーとは異なります。

  1. サーバーが期限切れヘッダーを設定していない場合は、応答をキャッシュしないでください。

次の組み込み応答時間ポリシーは上書きできません。これらのポリシーは、リストされている順に評価されます。

  1. HTTP 応答ステータスコードが 201、202、204、205、または 206 の応答をキャッシュしないでください。
  2. ステータスコード 403、404、および 410 を除き、4xx の HTTP 応答ステータスコードを持つ応答をキャッシュしないでください。
  3. 応答タイプが FIN 終了の場合、または応答に Content-Length または Transfer-Encoding: Chunked のいずれかの属性がない場合は、応答をキャッシュしないでください。
  4. キャッシュモジュールがCache-Controlヘッダーを解析できない場合は、応答をキャッシュしないでください。

既定のコンテンツグループの初期設定

統合キャッシュを初めて有効にすると、Citrix ADCアプライアンスは、デフォルトのコンテンツグループという名前の定義済みコンテンツグループを提供します。詳細については、既定のコンテンツグループ設定表を参照してください。

統合キャッシュのデフォルト設定