ユーザーエージェントは、クライアントのオペレーティングシステム、ブラウザの種類、バージョンを識別する HTTP リクエストヘッダーです。ユーザーエージェントのブロックリストまたは許可リストを設定して、CDN または リソースへのアクセスを制限できます。
注意事項
ユーザーエージェントのブロックリストまたは許可リストのいずれかを設定できますが、両方を同時に設定することはできません。
リクエストのユーザーエージェントヘッダーがブロックリストの値と一致する場合でも、リクエストは CDN または POP (Point of Presence) に到達しますが、POP はそれを拒否し、403 ステータスコードを返し、リクエストをログに記録します。
ブロックされた悪意のあるリクエストは、CDN または ノードの処理リソースを消費するため、少量のトラフィック料金が発生します。クライアントが HTTPS を使用している場合、HTTPS リクエストの料金も発生します。
操作手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションペインで [ドメイン名 ] をクリックします。
[ドメイン名] ページで、管理対象のドメイン名を見つけ、[アクション] 列の [管理] をクリックします。

ドメイン名の左側のナビゲーションウィンドウで、[リソースアクセス制御] をクリックします。
UA ブラック/ホワイトリスト タブをクリックします。
UA ブラック/ホワイトリスト タブで、変更をクリックします。
画面の指示に従って、User-Agent ヘッダーの ブラックリスト または ホワイトリスト を設定します。
パラメータ
説明
[タイプ]
リストのタイプです。
[ブラックリスト]
リクエストのユーザーエージェントヘッダーがブロックリストの値と一致する場合、アクセスが拒否され、403 ステータスコードが返されます。
[ホワイトリスト]
ユーザーエージェントヘッダーが許可リストの値と一致するリクエストのみが、ドメインリソースにアクセスできます。
[ルール]
複数のユーザーエージェント値は縦線 (|) で区切ります。ワイルドカード (*) がサポートされています。例:
*curl*|*IE*|*chrome*|*firefox*この機能は完全一致を必要とし、部分一致はサポートしていません。たとえば、
curl/7.68.0は、ユーザーエージェントが正確にcurl/7.68.0であるリクエストのみと一致します。特定のキーワードを含むすべてのリクエストと一致させるには、*7.68.0*や*curl*のように、ワイルドカード (*) で囲みます。説明空のユーザーエージェントヘッダーを持つリクエストのアクセスを制御するには、
this-is-empty-uaを使用して空のユーザーエージェント値を表します。許可リストの場合: ルールに
this-is-empty-uaが含まれている場合、空のユーザーエージェントヘッダーを持つリクエストは許可されます。ブロックリストの場合: ルールに
this-is-empty-uaが含まれている場合、空のユーザーエージェントヘッダーを持つリクエストは拒否されます。
ユーザーエージェントブロックリスト/許可リストは、ユーザーエージェントヘッダーを持たないリクエストのアクセス制御をサポートしていません。このようなリクエストを処理するには、EdgeScript を使用してください。詳細については、「EdgeScript」をご参照ください。または、するか、チケットを送信することで、バックエンド設定をリクエストしてください。
[ルール条件]
ルール条件は、ユーザーリクエスト内のさまざまなパラメーターを識別し、そのリクエストに対して設定を有効にするかどうかを決定します。
重要ルール条件を参照する場合、機能自体の設定順序ではなく、関連するルール条件の優先度に基づいて照合されます。
使用しない:ルール条件を使用しません。
ルール条件を追加または編集するには、ルールエンジンで管理します。
OK をクリックします。
設定例
例 1: 許可リスト
ルール:
*IE*|*firefox*結果: Internet Explorer または Firefox として識別されるクライアントからのリクエストのみがリソースにアクセスできます。その他のすべてのリクエストは拒否されます。
例 2: ブロックリスト
ルール:
*IE*|this-is-empty-ua結果: Internet Explorer として識別されるクライアントからのリクエスト、または空のユーザーエージェントヘッダーを持つリクエストは拒否されます。
例 3: ブロックリスト (ワイルドカード一致)
誤ったルール:
curl/7.68.0正しいルール:
*curl/7.68.0*または*7.68.0*ルール
curl/7.68.0は、User-Agent が正確にcurl/7.68.0であるリクエストにのみ一致します。この機能は完全一致を必要とし、部分一致はサポートしていないためです。この文字列を含むすべてのリクエストをブロックするには、ワイルドカード (*) を使用する必要があります。