ポリシーで高度なポリシー式を構成する
1 つのポリシーに最大 1,499 文字の高度なポリシー式を設定できます。高度なポリシー式のユーザーインターフェイスは、式を設定している機能と、ポリシーまたは別の用途のどちらに式を設定するかによって、ある程度異なります。
コマンドラインで式を設定するときは、引用符 (「..」または ‘.’) を使用して式を区切ります。式内では、バックスラッシュ () を使用して追加の引用符をエスケープします。たとえば、式で引用符をエスケープする標準的なメソッドを以下に示します。
"\"abc\""
‘\"abc\"’
また、コマンドラインで疑問符やその他のバックスラッシュをエスケープするには、バックスラッシュを使用する必要があります。たとえば、式 http.req.url.contains (「?」)疑問符を解析するには、バックスラッシュが必要です。疑問符を入力すると、コマンドラインにバックスラッシュ文字が表示されないことに注意してください。一方、バックスラッシュをエスケープすると(たとえば、式’http.req.url.contains (「\\ http」) ‘)、エスケープ文字がコマンドラインにエコーされます。
エントリを読みやすくするために、式全体の引用符をエスケープできます。式の先頭に、エスケープシーケンス「q」と、次の特殊文字のいずれかを入力します。/{< | ~$^+=&%@`?。 |
次のように、式の最後に特殊文字のみを入力します。
q@http.req.url.contains("sometext") && http.req.cookie.exists@ q~http.req.url.contains("sometext") && http.req.cookie.exists~
{区切り文字を使用する式は} で閉じられることに注意してください。
一部の機能 (たとえば、統合キャッシュとレスポンダー) では、ポリシーの構成ダイアログボックスに式を構成するための第 2 のダイアログボックスが表示されます。このダイアログでは、式の設定中の各ポイントで使用可能な選択肢を示すドロップダウンリストから選択できます。これらの設定ダイアログを使用する場合は算術演算子を使用できませんが、他のほとんどの高度なポリシー式機能を使用できます。算術演算子を使用するには、式を自由形式で記述します。
CLI を使用して高度なポリシー構文規則を構成する
コマンドプロンプトで次のコマンドを入力して、詳細ポリシールールを構成し、構成を確認します。
add cache|dns|rewrite|cs policyName **-rule** expression featureSpecificParameters **-action**
show cache|dns|rewrite|cs 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 を使用して高度なポリシー式を設定します
ナビゲーションウィンドウで、ポリシーを構成する機能の名前をクリックします。たとえば、[統合キャッシュ]、[レスポンダー]、[DNS]、[書き換え]、または [コンテンツスイッチング] を選択し、[ポリシー] をクリックします。
[追加] をクリックします。
ほとんどのフィーチャでは、[条件式] フィールドをクリックします。コンテンツスイッチの場合は、[構成] をクリックします。
[接頭辞] アイコン (家) をクリックし、ドロップダウンリストから最初の式の接頭辞を選択します。たとえば、レスポンダーでは、オプションは HTTP、SYS、およびクライアントです。次の適用可能なオプションのセットがドロップダウンリストに表示されます。
次のオプションをダブルクリックして選択し、ピリオド (.) を入力します。ここでも、適用可能なオプションのセットが別のドロップダウンリストに表示されます。
入力フィールド (括弧で示される) が表示されるまで、オプションの選択を続けます。入力フィールドが表示されたら、括弧内に適切な値を入力します。たとえば、[GT (int) (より大きい、整数形式)] を選択した場合は、括弧内に整数を指定します。テキスト文字列は引用符で区切られます。以下は一例です。
HTTP.REQ.BODY(1000).BETWEEN("this","that")
複合式の 2 つの部分の間に演算子を挿入するには、[演算子] アイコン (シグマ) をクリックし、演算子のタイプを選択します。次に、ブール演算子 OR (二重縦棒 || で示されます) が設定された式の例を示します。
HTTP.REQ.URL.EQ("www.mycompany.com")||HTTP.REQ.BODY(1000).BETWEEN("this","that")
名前付き式を挿入するには、[追加] アイコン (プラス記号) の横にある下向き矢印をクリックし、名前付き式を選択します。
ドロップダウンメニューを使用して式を構成し、組み込み式を挿入するには、[追加] アイコン (プラス記号) をクリックします。[式の追加] ダイアログボックスは、メインダイアログボックスと同様に機能しますが、オプションを選択するためのドロップダウンリストが表示され、かっこではなくデータ入力用のテキストフィールドが表示されます。このダイアログボックスには、よく使用する式を挿入する [よく使用する式] ドロップダウンリストもあります。式の追加が完了したら、「OK」をクリックします。
入力が終わったら、[作成]をクリックします。ステータスバーにメッセージが表示され、ポリシー式が正常に設定されたことが示されます。
GUI を使用して高度なポリシー式をテストする
- ナビゲーションウィンドウで、ポリシーを構成する機能の名前をクリックし (たとえば、[統合キャッシュ]、[レスポンダー]、[DNS]、[書き換え]、または [コンテンツスイッチング] を選択できます)、[ポリシー] をクリックします。
- ポリシーを選択し、[Open] をクリックします。
- 式をテストするには、[評価] アイコン (チェックマーク) をクリックします。
- [式エバリュエーター] ダイアログボックスで、式に一致する [フロータイプ] を選択します。
- 「HTTP リクエストデータ」または「HTTP レスポンスデータ」フィールドに、式を使用して解析する HTTP リクエストまたはレスポンスを貼り付け、「評価」をクリックします。完全な HTTP リクエストまたはレスポンスを指定する必要があり、ヘッダーと本文は空白行で区切る必要があります。HTTP ヘッダーをトラップするプログラムの中には、レスポンスもトラップしないものがあります。ヘッダーのみをコピーして貼り付ける場合は、ヘッダーの最後に空白行を挿入して、完全な HTTP リクエストまたはレスポンスを形成します。
- [閉じる] をクリックして、このダイアログボックスを閉じます。