ユーザーエージェントとは、クライアントを識別するための HTTP リクエストヘッダーであり、オペレーティングシステム、ブラウザの種類、バージョンなどの詳細情報が含まれています。 ユーザーエージェントのブラックリスト/ホワイトリストを設定することで、CDN リソースへのユーザーアクセスを制限し、CDN のセキュリティを強化できます。
使用上の注意
-
User-Agent ブラックリストまたはホワイトリストのいずれかを設定できますが、両方を同時に設定することはできません。
-
リクエストの User-Agent ヘッダーがブラックリストの値と一致する場合、リクエストは CDN POP に到達しますが、CDN POP はリクエストを拒否し、403 ステータスコードを返し、CDN ログにリクエストを記録します。
-
User-Agent のブラックリストおよびホワイトリストルールを設定して、ユーザーによる CDN リソースへのアクセスを制限し、CDN のセキュリティを向上させることができます。悪意のあるリクエストが CDN ノードによってブロックされると、少量のトラフィック料金が発生します。クライアントがアクセスに HTTPS プロトコルを使用する場合、HTTPS リクエスト数に応じた料金も発生します。これは、悪意のあるリクエストをブロックすると CDN ノードの処理リソースが消費されるためです。
手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションペインで [ドメイン名 ] をクリックします。
[ドメイン名] ページで、管理対象のドメイン名を見つけ、[アクション] 列の [管理] をクリックします。

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