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

ApsaraVideo VOD:Referer ホットリンク防止の設定

最終更新日:Sep 17, 2026

Referer ベースのホットリンク防止は、HTTP リクエストヘッダーの Referer フィールド (Referer ホワイトリストやブラックリストなど) を使用してアクセスを制御します。これにより、訪問者を識別してフィルタリングし、ウェブサイトリソースの不正利用を防止します。Referer ホワイトリストまたはブラックリストを設定すると、CDN は各リクエストをリストと照合し、アクセスを許可または拒否します。許可された場合、CDN はリソース URL を返します。拒否された場合、CDN は HTTP ステータスコード 403 を返します。このトピックでは、Referer ホットリンク防止の設定方法について説明します。

重要
  • ApsaraVideo VOD では、Referer ホットリンク防止はデフォルトで無効になっています。これは、どのウェブサイトからでもリソースにアクセスできることを意味します。

  • Referer リストに aliyundoc.com のようなドメイン名を追加すると、CDN および はそのルールをドメイン自体とそのすべてのサブドメイン (例: *.aliyundoc.com) の両方に適用します。

  • Range リクエストの場合、ブラウザーは 2 回目のリクエストで Referer ヘッダーを追加します。これらのリクエストを許可するには、そのドメインを Referer ホワイトリストに追加する必要があります。

  • ApsaraVideo VOD で Referer ホットリンク防止を有効にした後、ApsaraVideo VOD コンソールでビデオをプレビューするには、Referer ホワイトリストに vod.console.alibabacloud.com を追加してください。

Referer の構造

Referer ヘッダーは、リクエストの発生元となったページの URL を示します。次の図に示すように、Referer URL はスキーム、ドメイン、パス、クエリパラメーターで構成されます。

説明
  • Referer ヘッダーの値は、本質的に URL です。

  • Alibaba Cloud は、ドメインのみの Referer 設定をサポートしています。これを有効にするには、スキームを無視 オプションを選択します。

利用シーン

Referer ブラックリストまたはホワイトリストは、主にウェブサイトのリソースが他のウェブサイトから直接リンクされたり使用されたりするのを防ぎます。一般的な利用シーンは次のとおりです。

  • 著作権保護:著作権で保護されたコンテンツを持つウェブサイトの場合、Referer ホワイトリストを使用して、許可されたウェブサイトのみにアクセスを制限できます。

  • ホットリンク防止:ホワイトリストにより、特定ウェブサイトからのみリソースにアクセスできるようになり、他のサイトがコンテンツに直接リンクして帯域幅を消費するのを防ぎます。

  • ウェブサイトのセキュリティ強化:特定のウェブサイトのみにリソースへのアクセスを許可することで、悪意のあるホットリンク、不正アクセス、機密情報の盗難を防ぐことができます。

  • トラフィックソースの制御:特定のウェブサイトからのトラフィックを制限して、トラフィックソースを制御し、ウェブサイトの安定性とセキュリティを向上させることができます。

仕組み

POP (Point of Presence) は、各リクエストの Referer ヘッダーをチェックします。Referer がホワイトリストにない場合、またはブラックリストにある場合、POP はリクエストを拒否します。これにより、帯域幅が節約され、オリジンサーバーの負荷が軽減されます。CDN および は、次のルールを使用して Referer リクエストを処理します。

  • リクエストの Referer がブラックリストのエントリと一致する場合、またはホワイトリストのどのエントリとも一致しない場合、CDN および はリクエストを拒否します。

  • リクエストの Referer がホワイトリストのエントリと一致する場合、CDN および はリクエストを許可します。

手順

  1. ApsaraVideo VOD コンソールにログインします。

  2. 左側のナビゲーションペインで、設定の管理 > 配信の高速化設定 > ドメイン名 の順にクリックします。

  3. ドメイン名 ページで、対象のドメイン名を見つけます。操作 列で、設定 をクリックします。

  4. 対象ドメインの左側メニューで、RAM をクリックします。

  5. [Refererホットリンク防止] タブで、変更 をクリックします。

  6. 必要に応じて、ブラックリスト または ホワイトリスト を選択します。

    パラメーター

    説明

    [タイプ]

    • ブラックリスト

      POP は、ブラックリストに含まれる Referer を含むリクエストへのアクセスを拒否します。

    • ホワイトリスト

      POP は、ホワイトリストに含まれる Referer を含むリクエストのみを許可します。

    説明

    ブラックリストとホワイトリストは相互排他的です。一度に 1 つのタイプしか選択できません。

    [ルール]

    • 複数の Referer を追加できます。各エントリは改行で区切ります。

    • アスタリスク (*) をワイルドカードとして使用して、すべてのサブドメインに一致させることができます。たとえば、*.example.com は example.com のすべてのサブドメインに一致します。

    • ワイルドカードを指定しない場合、エントリはドメイン自体とそのすべてのサブドメインの両方に一致します。たとえば、example.com のエントリは example.com と *.example.com の両方に一致します。

    説明
    • Referer リスト内のすべてのルールの合計サイズは 60 KB を超えることはできません。

    • ルールにスキームを含める必要はありません。

    [リダイレクト URL]

    リクエストがブロックされた場合、POP は Location レスポンスヘッダーとともに 302 リダイレクトを返します。このパラメーターは、Location ヘッダーの値を指定します。URL は http:// または https:// で始まる必要があります。例:http://www.example.com。

    [高度]

    ユーザーがブラウザのアドレスバーからリソース URL に直接アクセスできるようにします。

    このオプションはデフォルトでクリアされています。このオプションを選択すると、リストの設定に関係なく、空の Referer を持つリクエストはブロックされず、リソースへのアクセスが許可されます。

    • リクエストに Referer ヘッダーが含まれていない。

    • Referer ヘッダーの値が空である。

    [完全一致]

    デフォルトでは、このオプションは選択されていません。選択した場合、ドメイン照合ではワイルドカード (*) がサポートされなくなります。たとえば、example.com は example.com にのみ一致し、そのサブドメインには一致しません。

    [スキームを無視]

    • スキームを無視 オプションがクリアされている場合、Referer ヘッダーには HTTP または HTTPS スキームが含まれている必要があります。

    • スキームを無視 オプションを選択すると、Referer ヘッダーにスキームを含める必要はありません。

  7. OK をクリックして設定を完了します。

Referer の照合ロジック

以下の表は、Referer の照合がどのように機能するかを示しています。リクエストがホワイトリストに一致しない場合、またはブラックリストに一致する場合、CDN はリクエストを拒否し、HTTP ステータスコード 403 を返します。

リスト設定

リクエスト内の Referer

照合結果

照合ロジック

  • www.example.com

  • *.example.com

http://www.example.com/img.jpg

はい

Referer ヘッダーのドメインがルールリストのエントリと一致します。

http://www.example.com:80/img.jpg

はい

www.example.com

詳細については、「照合ロジックの説明」をご参照ください。

  • [スキームを無視] が選択されていない場合、結果は「いいえ」です。Referer ヘッダーに http:// または https:// がありません。

  • [スキームを無視] が選択されている場合、結果は「はい」です。

http://aaa.example.com

はい

[完全一致] が選択されているかどうかに関係なく、結果は「はい」です。

http://aaa.bbb.example.com

説明を参照してください

  • [完全一致] が選択されていない場合、結果は「はい」になります。ルール *.example.com は複数レベルのサブドメインに一致します。

  • [完全一致] が選択されている場合、結果は No になります。ルール *.example.com は第 2 レベルドメインにのみマッチし、第 3 レベルドメインにはマッチしません。

http://example.com

いいえ

Referer ヘッダーの第 2 レベルのドメインは、ワイルドカードエントリと一致しません。ワイルドカードエントリには、第 2 レベルのドメイン自体は含まれません。

http://www.example.net

不一致

Referer が設定されたどのルールにも一致しません。ホワイトリストが設定されている場合、このリクエストは拒否されます。ブラックリストが設定されている場合、このリクエストは許可されます。

よくある質問

Referer ヘッダーに http:// または https:// が含まれないことがあるのはなぜですか?

ほとんどの場合、ユーザーリクエストの Referer ヘッダーには HTTP または HTTPS スキームが含まれています。ただし、特定の状況では、Referer にスキームが含まれない場合があります。

一般的なシナリオは、ユーザーが安全でないウェブサイト (HTTP を使用) から安全なウェブサイト (HTTPS を使用) に遷移する場合です。ブラウザは、ユーザーデータを保護するために、 Referrer-Policy などのセキュリティポリシーに基づいて Referer ヘッダーを変更または削除することがあります。この場合、Referer ヘッダーには、スキームを含まずにドメインのみが含まれる可能性があります。

さらに、一部のブラウザーやプロキシサーバーは、プライベートブラウジングモードが使用されている場合や、匿名プロキシを介してウェブサイトにアクセスした場合など、特定の状況で Referer ヘッダーを自動的に削除することがあります。

したがって、正しい評価を保証するには、Referer ヘッダーに http:// または https:// がないリクエストも処理する必要があります。

Referer が空になるのはなぜですか?また、そのようなリクエストを許可すべきですか?

空の Referer は、リクエストに Referer ヘッダーが含まれていないか、ヘッダーの値が空であることを意味します。一般的な原因は次のとおりです。

  • 参照元ページがない:ユーザーがブラウザーのアドレスバーに直接 URL を入力した、またはブックマークからリソースにアクセスした場合。

  • クライアントがヘッダーを設定しない:アプリ、スクリプト、または curl や wget などのクライアントがリクエストを構築する際に Referer ヘッダーを設定しない場合。

  • ブラウザのセキュリティポリシー: ページで Referrer-Policy: no-referrer が設定されているか、またはブラウザが HTTPS ページから HTTP 経由でリソースにアクセスする際に Referer を送信しません。

  • 中間者がヘッダーを削除する:プロキシサーバー、プライバシーツール、またはブラウザー拡張機能が Referer ヘッダーを削除した場合。

空の Referer を持つリクエストを許可するかどうかは、ビジネスシナリオによって異なります。ユーザーがリソースに直接アクセスできる必要がある場合、またはビジネスで Referer を送信しないアプリやコマンドラインクライアントを使用している場合は、[ブラウザーのアドレスバーからのアクセスを許可する] を有効にします。この設定は、Referer ブラックリストとホワイトリストの両方に適用され、空の Referer を持つすべてのリクエストを許可します。空の Referer にはソース情報が含まれていないため、CDN はそれを使用して実際のリクエストソースを判断できません。ビジネスで空の Referer を持つホットリンクのリクエストをブロックする必要がある場合は、この設定を有効にしないでください。

設定手順については、「Referer ブラックリストまたはホワイトリストの設定」をご参照ください。空の Referer を持つリクエストがすでに HTTP 403 を返している場合は、「空の Referer を持つリクエストがブロックされる」をご参照ください。