Referer Access Rules

最終更新日:2026-04-13 18:17:43

クライアントがWebサーバーにリクエストを送信する際、通常、リクエストの元のページを示すRefererヘッダーが含まれます。この送信元情報により、サーバーはそれに基づいたアクセス制御を実行できます。CDNエッジサーバーがクライアントリクエストを受信すると、HTTPリクエストヘッダーのRefererフィールドにある情報を確認し、特定のルールに準拠するユーザーリクエストを許可または拒否します。これは、特定のページからのリンクをクリックすることによってのみユーザーがリソースにアクセスできる場合など、特定のページからのみコンテンツへのアクセスが許可されるシナリオに適しています。

How to Set Up the Referer Access Rule

  1. CDNetworks Console にログインし、該当する製品を選択します。
  2. Configuration に移動し、設定したいドメインを見つけて、 Edit Configuration DDoS Adaptive Protection Feature Upgrade をクリックします。
  3. 左側のサイドバーで Access Control - Referer Access List に移動し、 Add をクリックします。
  4. ニーズに基づいて、以下の設定を構成します。

Apply to
これは、Refererアクセスルールが適用されるリクエストの範囲を定義します。以下のオプションから選択できます:

設定 説明
All Requests アクセス制御ルールはすべてのタイプのリクエストに適用されます。
Only Homepage http://domain/ または https://domain/ などのドメインのルートディレクトリにのみ適用されます。
Specific File Type 特定のタイプのファイルにのみ適用されます。左側の定義済みファイルタイプから選択するか、カスタムファイルタイプを定義できます。複数のカスタムタイプはセミコロン ; で区切ります(例: jpg;png )。
Specific URL Path 特定のURLパスにあるコンテンツへのリクエストにのみ適用されます。2つのURLパス照合オプションが利用可能です:
Full URL Path : パラメータを含む完全なURLパス(例: path/index.html?abc=123 )。
Ignore Query String : クエリパラメータを含まないURLパス(例: path/index.html )。
Specific Directory 特定のディレクトリ配下のリクエストに適用されます。たとえば、 /file/abc/http://domain/file/abc/* 配下のすべてのコンテンツに適用されます。
注意:ディレクトリは / で始まり / で終わる必要があり、文字、数字、および一部の特殊文字(アンダースコア、ハイフン、パーセント記号、ドット)のみを含めることができます。複数のディレクトリは改行で区切る必要があります。
URL Pattern(Regex) 正規表現を使用して、ルールが適用されるリクエストの範囲を定義します。たとえば、パターン *.jpg$ を使用すると、アクセス制御が .jpg で終わるすべてのURLに適用されることが保証されます。

Advanced Scope Conditions
Advanced Scope Conditions を使用して、ルールの Apply to 範囲をさらに絞り込むことができます。これにより、基本的な Apply to ルールと交差して正確な制御が可能になります。1つまたは複数のパラメータを選択し、基本ルールと AND の関係を形成して、特定のリクエストやレスポンスをターゲットにします。

パラメータ 説明
Regions or Exclude Regions CDNetworksが提供する国/地域リストから直接検索して選択できます。
Mainland China の場合、特定の省や、華東地域 (East Region) および西南地域 (Southwest Region) などのより大きな地理的エリアを選択することが可能です。
Exclude File Type 特定のファイルタイプを除外します。複数のタイプは ; で区切ります。
Exclude Custom File Type 必要に応じてカスタムファイルタイプを除外します。複数のタイプは ; で区切ります。
Exclude Directory 特定のディレクトリパスを除外します。パスは / で始まり / で終わる必要があります。複数のディレクトリは ; で区切ります。
Exclude URL(Regex) 正規表現を使用してURLを除外します(例: .*\.jpg$ )。
Access-Control-Allow-Methods HTTPリクエストメソッドを照合します。複数のメソッドは ; で区切ります(例: GET;POST )。
Exclude Request Method 特定のHTTPリクエストメソッドを除外します。

Rule Type
RefererブロックリストまたはReferer許可リストのいずれかを設定できます:

設定 説明
Blocklist 3つのオプションが利用可能です:
Blocked Referers (Domain Only) : Refererに指定されたドメインが含まれている場合、アクセスは拒否されます。たとえば www.test.com です。
ドメインの先頭に http:// または https:// を追加する必要はありません。
Blocked Referers(Full URL) : Refererに指定されたURLが含まれている場合、アクセスは拒否されます。たとえば http://www.test.com/index.html です。
Blocked Referers(Regex) : Use Regular Expression をクリックして、ブロックリスト用の1つまたは複数の正規表現を定義します。
Allowlist 3つのオプションが利用可能です:
Allowed Referers (Domain Only) : Refererに指定されたドメインが含まれている場合にのみ、アクセスが許可されます。たとえば www.test.com です。
ドメインの先頭に http:// または https:// を追加する必要はありません。
Allowed Referers (Full URL) : Refererに指定されたURLが含まれている場合にのみ、アクセスが許可されます。たとえば http://www.test.com/index.html です。
Allowed Referers(Regex) : Use Regular Expression をクリックして、許可リスト用の1つまたは複数の正規表現を定義します。

Tips

  • ブロックリストと許可リストには、改行で区切って複数のドメインまたはURLを含めることができます。
  • システムは許可リストルールを1つだけサポートします。複数のReferer値が必要な場合、それらはすべてこの単一の許可リスト内に含める必要があります。
  • ワイルドカードドメインは、ブロックリストと許可リストの両方で許可されています。

Action
Refererが設定されたルールを満たさず、リクエストがCDNによって拒否された場合、エラーコードを直接返すか、別のURLにリダイレクトするかを選択します:

  • Block Access : CDNは403エラーでリクエストを拒否します。
  • Redirect : CDNはリクエストを別のURLにリダイレクトします。

Allow Empty Referer
これを有効にすると、Refererがない場合でも、ユーザーがブラウザのアドレスバーにURLを入力して直接コンテンツにアクセスできるようになります。

Case-Insensitive Match
この設定のデフォルトは Yes です。

  • Yes オプションは、 Apply to の照合が大文字と小文字を区別しないことを示します。大文字と小文字のみが異なるURLを持つ2つのリクエストは、両方とも設定したルールに一致します。たとえば、 Specific URL Path/domain/a.jpg を構成した場合、 /domain/a.jpg/domain/A.jpg の両方が一致します。
  • 逆に、 No を選択した場合、着信リクエストでは Apply to の設定との大文字小文字の違いは無視されず、 Apply to で指定された大文字小文字と完全に一致するリクエストのみがRefererアクセスルールに従います。

Priority
複数のアクセス制御ルールが設定されている場合、CDNは数値に基づいてそれらを優先順位付けし、数値が大きいものから先に実行します。

設定が完了したら、 OK をクリックし、 Next を選択して設定を送信してください。本番環境への潜在的な影響を最小限に抑えるために、ステージング環境で Pre-deploy テストを実施することを強くお勧めします。この重要なステップにより、本番稼働前に設定が正確であることを確認できます。設定の正確性を確認したら、 Deploy Now をクリックして本番環境に実装します。設定は通常3〜5分で有効になります。プレデプロイメントテストの包括的なガイダンスと設定の有効性の確認については、チュートリアル Deploy the settings to Staging Environment for Validation をご参照ください。

Best Practices

Example 1: Configure a Referer Blocklist
この例では、リクエストのRefererに www.cdnetworks.com または dash.cdnetworks.com が含まれている場合に、ドメイン配下のすべてのリクエストへのアクセスを拒否する方法を示します。設定は以下の通りです:

Example 2: Configure a Referer Allowlist
この例では、リクエストのRefererに www.cdnetworks.com または dash.cdnetworks.com が含まれている場合にのみ、ドメイン配下のすべてのリクエストへのアクセスを許可する方法を示します。設定は以下の通りです:

Notes

Refererブロックリストと許可リストを同時に構成しないでください ( DO NOT ) 。Refererは両方のリストと順番に照合されるため、すべてのCDNアクセスが拒否され、ビジネスに影響を与える可能性があります。たとえば、以下のようにRefererブロックリストと許可リストの両方を構成すると、CDNによってすべてのアクセスが拒否される結果になります。

Why would all requests be denied?

  1. Refererに www.test.com が含まれるリクエストは、ブロックリストルールに一致するため、CDNによってアクセスが拒否されます。
  2. Refererに www.test.com が含まれていないリクエストは、ブロックリストによって拒否されることはありませんが、許可リストの基準(Refererが www.test.com であるリクエストのアクセスのみを許可する)を満たさないため、同じく拒否されます。

ブロックリストと許可リストの両方を構成する必要がある場合は、適切なセットアップを確実にするため、テクニカルサポートにご連絡の上サポートを受けてください。