すべてのプロダクト
Search
ドキュメントセンター

API Gateway:Bot-detect

最終更新日:Sep 10, 2026

bot-detect プラグインは、ウェブクローラーを識別し、ウェブサイトへのアクセスをブロックします。

プラグインタイプ

セキュリティ保護。

フィールド

フィールド

データ型

必須

デフォルト値

説明

allow

文字列の配列

いいえ

-

User-Agent ヘッダーに一致する正規表現です。一致したリクエストは許可されます。

deny

文字列の配列

いいえ

-

User-Agent ヘッダーに一致する正規表現です。一致したリクエストはブロックされます。

blocked_code

数値

いいえ

403

リクエストがブロックされたときに返される HTTP ステータスコードです。

blocked_message

文字列

いいえ

-

リクエストがブロックされたときに返される HTTP レスポンスボディです。

説明

allow フィールドも deny フィールドも設定されていない場合、デフォルトのクローラー識別ロジックが使用されます。allow を使用してデフォルトのクローラールールに一致するリクエストを除外し、deny を使用してカスタムのクローラー識別ルールを追加します。

例

デフォルトのクローラー識別ロジックにヒットするリクエストの許可

allow:
- ".*Go-http-client.*"

この設定がない場合、Golang HTTP ライブラリからのリクエストはウェブクローラーとして識別され、ブロックされます。

クローラー識別ロジックの追加

deny:
- "spd-tools.*"

このルールによって、以下のリクエストがブロックされます:

curl http://example.com -H 'User-Agent: spd-tools/1.1'
curl http://example.com -H 'User-Agent: spd-tools'

特定のルートまたはドメイン名に対するセキュリティ保護ルールの有効化

route-a ルートと route-b ルートを、空の設定で保存します。

以下のプラグイン設定を *.example.com ドメイン名と test.com ドメイン名に適用します:

  allow:
  - ".*Go-http-client.*"
説明
  • route-a と route-b は、ゲートウェイルートを作成するときに指定されるルートです。クライアントリクエストがこれらのルートのいずれかに一致する場合、組み込みのデフォルトルールを使用してウェブクローラーを識別します。

  • *.example.com と test.com は、リクエスト内のドメイン名に一致します。クライアントリクエストがこれらのドメイン名のいずれかに一致する場合、対応するルールが有効になります。

  • ルールは順番に適用されます。あるルールに一致すると、後続のルールはスキップされます。