Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

最終更新 Markdown で表示Agent セットアップ

Load Balancing ルール では、次の 2 種類の式を使います。

  • 単純な式 は、HTTP リクエストの値を、式で定義した値と比較します。単純な式は、比較演算子equalsless than など)の有無で識別します。

  • 複合式 は、2 つ以上の単純な式を 1 つの式にまとめます。複合式には 論理演算子andor など)が含まれます。複合式を使うと、特定のユースケースに合わせて、精度の高いルールを作れます。


単純な式

単純な式は、次の 3 つの要素で構成されます。

  1. HTTP リクエストのプロパティを表す フィールド
  2. そのフィールドの代表的な 。Cloudflare は、この値を実際のリクエスト値と比較します。
  3. 比較演算子。式で定義した値が、リクエストの実際の値とどう関係すれば演算子が true を返すかを指定します。

比較演算子が true を返すと、リクエストは式に一致します。

次の例は、リクエストの URI パスに /content が含まれるときに true を返します。

(http.request.uri.path contains "/content")

一般に、単純な式は次のパターンです。

<field> <operator> <value>

詳細は 対応しているフィールドと演算子 を参照してください。


複合式

複合式は 論理演算子andor など)で、2 つ以上の式を組み合わせます。複合式を使うと、1 つの式の中で複雑な条件を書けます。

次の例は、HTTP リクエストの URI パスに /content が含まれ、かつクエリ文字列に webserver が含まれるときに true を返します。

(http.request.uri.path contains "/content")
and (http.request.uri.query contains "webserver")

一般に、複合式は次のパターンです。

<expression> <logical operator> <expression>

複合式は、論理演算子のオペランドにもなれます。これにより、複数の演算子で、多くの個別の式から複合式を組み立てられます。

詳細は 対応しているフィールドと演算子 を参照してください。


式の扱い

Expression Builder のビジュアルインターフェースを使うと、フィールド名や構文を気にせず式を組み立てられます。

一方、Expression Editor はテキストのみですが、ビルダーでは使えない高度な機能をサポートします。

Expression Builder

複合式は、Expression Builder のビジュアルインターフェースのほうが読みやすいです。Expression Preview は、より高度な式の書き方を学ぶときの参考になります。

この Expression Builder のスクリーンショットは、先ほどの複合式の例です。複合式は、Expression Builder のビジュアルインターフェースのほうが読みやすいです。

Expression Builder に表示されたルール設定の例

Expression Preview は、式をテキストで表示します。

(http.request.uri.path contains "/content")
and (http.request.uri.query contains "webserver")

手順は Load Balancing ルールを作成する を参照してください。

Expression Editor

Expression Editor は、Load Balancing の式を作成するテキスト専用のインターフェースです。Expression Builder のような視覚的なわかりやすさはありませんが、グループ化記号(括弧)などの高度な機能をサポートします。

Traffic アプリで Expression Editor を開くには、Create Custom Rule ダイアログで Edit expression を選択します。

ビルダーに戻るには、Use expression builder を選択します。

ルールリスト

Load Balancing Custom Rules は、IP リスト演算子をサポートしていません。

役に立ちましたか?