Citrix ADC

ポリシーで高度なポリシー式を構成する

1 つのポリシーで最大 1,499 文字の Advanced ポリシー式を設定できます。詳細ポリシー式のユーザインターフェイスは、式を設定する機能、および式をポリシー用に設定するのか、別の用途用に設定するのかによって異なります。

コマンドラインで式を設定する場合は、二重引用符 (「.」または「..」) を使用して式を区切ります。式内では、バックスラッシュ () を使用して追加の引用符をエスケープします。たとえば、式で引用符をエスケープする標準的なメソッドを次に示します。

"\"abc\""

‘\"abc\"’

コマンドラインで疑問符やその他のバックスラッシュをエスケープするには、バックスラッシュを使用する必要があります。たとえば、式の http.req.url が含まれています (「?」) は、疑問符が解析されるようにバックスラッシュを必要とします。疑問符を入力すると、コマンドラインにバックスラッシュ文字が表示されないことに注意してください。一方、バックスラッシュをエスケープした場合 (例:’http.req.url.contains(“\\http”)’)、エスケープ文字はコマンドラインでエコーされます。

エントリを読みやすくするには、式全体の引用符をエスケープします。式の先頭に、エスケープシーケンス「q」と次の特殊文字の 1 つを入力します。/{< ~$^+=&%@`?.

次のように、式の最後に特殊文字のみを入力します。

q@http.req.url.contains("sometext") && http.req.cookie.exists@

q~http.req.url.contains("sometext") && http.req.cookie.exists~

{区切り文字を使用する式は} で閉じられることに注意してください。

一部の機能 (統合キャッシュやレスポンダーなど) では、ポリシー構成ダイアログボックスに式を構成するためのセカンダリダイアログボックスが表示されます。このダイアログでは、式設定中の各ポイントで使用可能な選択肢を表示するドロップダウンリストから選択できます。これらの設定ダイアログを使用するときは算術演算子を使用できませんが、その他の高度なポリシー式機能を使用できます。算術演算子を使用するには、式を自由形式で作成します。

CLI を使用して高度なポリシー構文ルールを構成する

注:

既定の構文ポリシーの名前が [詳細ポリシー] に変更されました。

コマンドプロンプトで次のコマンドを入力して、既定の構文規則を構成し、構成を確認します。

  1. add cache|dns|rewrite|cs policy policyName **-rule** expression featureSpecificParameters **-action**

  2. show cache|dns|rewrite|cs policy policyName 次に、キャッシュポリシーの設定例を示します。

    例:

    > add cache policy pol-cache -rule http.req.content_length.le(5) -action INVAL
     Done
    
    > show cache policy pol-cache
            Name: pol-cache
            Rule: http.req.content_length.le(5)
            CacheAction: INVAL
            Invalidate groups: DEFAULT
            UndefAction: Use Global
            Hits: 0
            Undef Hits: 0
    
     Done
    

GUI を使用して既定の構文ポリシー式を構成する

  1. ナビゲーションウィンドウで、ポリシーを構成する機能の名前をクリックします。たとえば、[統合キャッシュ]、[レスポンダー]、[DNS]、[書き換え]、または [コンテンツの切り替え] を選択し、[ポリシー] をクリックします。

  2. [追加] をクリックしてください。

  3. ほとんどのフィーチャでは、[式] フィールドをクリックします。コンテンツを切り替えるには、[設定] をクリックします。

  4. [プレフィックス] アイコン (家) をクリックし、ドロップダウンリストから最初の式のプレフィックスを選択します。たとえば、レスポンダーでは、オプションは HTTP、SYS、および CLIENT です。次の適用可能なオプションのセットがドロップダウンリストに表示されます。

  5. 次のオプションをダブルクリックして選択し、ピリオド (.) を入力します。ここでも、適用可能なオプションのセットが別のドロップダウンリストに表示されます。

  6. 入力フィールド (かっこで囲まれた) が表示されるまで、オプションの選択を続けます。入力フィールドが表示されたら、括弧内に適切な値を入力します。たとえば、GT (int) (より大きい、整数の形式) を選択した場合は、括弧内に整数を指定します。テキスト文字列は引用符で区切られます。次に例を示します。

    HTTP.REQ.BODY(1000).BETWEEN("this","that")

  7. 複合式の 2 つの部分間に演算子を挿入するには、[演算子] アイコン (シグマ) をクリックし、演算子のタイプを選択します。次に、ブール値 OR(二重縦棒 || によって示される)で構成された式の例を示します。

    HTTP.REQ.URL.EQ("www.mycompany.com")||HTTP.REQ.BODY(1000).BETWEEN("this","that")

  8. 名前の付いた式を挿入するには、[追加] アイコン (プラス記号) の横にある下向き矢印をクリックし、名前の付いた式を選択します。

  9. ドロップダウンメニューを使用して式を設定し、組み込み式を挿入するには、[追加] アイコン (プラス記号) をクリックします。[式の追加] ダイアログボックスは、メインダイアログボックスと同じように機能しますが、オプションを選択するためのドロップダウンリストや、かっこではなくデータ入力用のテキストフィールドを提供します。このダイアログボックスには、よく使用する式を挿入する [頻繁に使用する式] ドロップダウンリストもあります。式の追加が完了したら、[OK] をクリックします。

  10. 入力が終わったら、[作成]をクリックします。ステータスバーにメッセージが表示され、ポリシー式が正常に設定されたことが示されます。

GUI を使用して既定の構文式をテストする

  1. ナビゲーションウィンドウで、ポリシーを構成する機能の名前をクリックし (たとえば、[統合キャッシュ]、[レスポンダー]、[DNS]、[書き換え]、または [コンテンツの切り替え] を選択)、[ポリシー] をクリックします。
  2. ポリシーを選択し、[Open] をクリックします。
  3. 式をテストするには、[評価] アイコン (チェックマーク) をクリックします。
  4. [式エバリュエーター] ダイアログボックスで、式に一致するフロータイプを選択します。
  5. [HTTP 要求データ] フィールドまたは [HTTP 応答データ] フィールドで、式で解析する HTTP 要求または応答を貼り付け、[評価] をクリックします。完全な HTTP リクエストまたはレスポンスを指定する必要があり、ヘッダーと本文は空白行で区切る必要があります。HTTP ヘッダーをトラップするプログラムによっては、応答もトラップされません。ヘッダーのみをコピーして貼り付ける場合は、ヘッダーの最後に空白行を挿入して、完全な HTTP 要求または応答を形成します。
  6. [閉じる] をクリックして、このダイアログボックスを閉じます。
ポリシーで高度なポリシー式を構成する