Skip to content

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

レート制限ルールの例

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

以下は、レート制限ルール設定のサンプルです。

例 1

次の レート制限ルール は、ログインページ宛ての米国からの受信リクエストにレート制限を適用します。許可する IP アドレス 1 件は除きます。

受信リクエストが次に一致する場合:

フィールド 演算子
URI Path equals /login And
Country equals United States And
IP Source Address does not equal 192.0.0.1

式エディターを使う場合:
(http.request.uri.path eq "/login" and ip.src.country eq "US" and ip.src ne 192.0.0.1)

同じ特性で集計:

  • IP
  • Data center ID(ダッシュボードではデフォルトで含まれますが、表示されません)

例 2

次の レート制限ルール は、指定したベース URI パスへの受信リクエストにレート制限を適用し、IP アドレスと指定した API キーでカウントを増やします。

受信リクエストが次に一致する場合:

フィールド 演算子
URI Path contains /product And
Request Method equals POST

式エディターを使う場合:
(http.request.uri.path contains "/product" and http.request.method eq "POST")

同じ特性で集計:

  • IP
  • Header value of > x-api-key
  • Data center ID(ダッシュボードではデフォルトで含まれますが、表示されません)

例 3

次の レート制限ルール は、2 つのホスト上の複数 URI パスを対象とするリクエストにレート制限を適用し、既知のボットは除外します。リクエスト率は IP アドレスと User-Agent の値に基づきます。

受信リクエストが次に一致する場合:

(http.request.uri.path eq "/store" or http.request.uri.path eq "/prices") and (http.host eq "mystore1.com" or http.host eq "mystore2.com") and not cf.client.bot

同じ特性で集計:

  • IP
  • Header value of > user-agent
  • Data center ID(ダッシュボードではデフォルトで含まれますが、表示されません)

例 4

次の レート制限ルール は、複雑度ベースのレート制限を行います。ルールは、オリジンサーバーが返す my-score HTTP レスポンスヘッダーを使い、指定した API キーを持つクライアントの合計複雑度スコアを計算します。

合計スコアのカウンターは、レート制限ルールの カウント式 に一致したときに更新されます(この例ではカウント式を指定していないため、ルール式と同じです)。この合計スコアが 1 分間に 400 を超えると、それ以降のクライアントリクエストは 10 分間ブロックされます。

受信リクエストが次に一致する場合:

フィールド 演算子
URI Path wildcard /graphql/*

式エディターを使う場合:
(http.request.uri.path wildcard "/graphql/*")

同じ特性で集計:

  • Header value of > x-api-key
  • Data center ID(ダッシュボードではデフォルトで含まれますが、表示されません)

レート超過時: Complexity based

  • Score per period: 400
  • Period: 1 minute
  • Response header name: my-score

次のアクションを実行:

  • アクションを選択: Block

次の動作: Block for the selected duration

  • Duration: 10 minutes

このルール設定の API 例は、API でレート制限ルールを作成する を参照してください。

役に立ちましたか?