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

ApsaraVideo VOD:Referer ホットリンク保護の設定

最終更新日:Feb 10, 2026

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

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

  • ドメイン名を Referer ブラックリストまたはホワイトリストに追加すると、そのドメイン名に一致するワイルドカードドメイン名も自動的にブラックリストまたはホワイトリストに追加されます。 例えば、aliyundoc.com を Referer ブラックリストまたはホワイトリストに追加すると、*.aliyundoc.com に一致するすべてのドメイン名に対して有効になります。

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

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

Referer の構造

Referer ヘッダーは、HTTP リクエストのヘッダーセクションのコンポーネントであり、ソースアドレスに関する情報を含み、リクエストのソースを識別するために使用されます。Referer ヘッダーは、スキーム、ドメイン、パス、およびパラメーターで構成されます。次の図は、Referer ヘッダーの構造を示しています。

image
説明
  • プロトコルとドメイン名は必須であり、パスとクエリパラメーターはオプションです。

  • Alibaba Cloud では、[スキームを無視] を選択することで、Referer としてドメイン名のみを指定できます。

利用シーン

Referer ブラックリストまたはホワイトリストは、次のシナリオに適しています。

  • 著作権保護:ウェブサイト上の著作権で保護されたコンテンツを保護するために、Referer ブラックリストまたはホワイトリストを使用して、承認されたウェブサイトのみがコンテンツにアクセスできるようにすることができます。

  • ホットリンク保護:Referer ホワイトリストまたはブラックリストは、リソースが他のウェブサイトで使用されるのを防ぐことができます。

  • ウェブサイトのセキュリティ強化:Referer ホワイトリストに含まれるドメイン名のみがウェブサイトリソースへのアクセスを許可されます。これにより、悪意のあるホットリンクや機密情報の盗難を防ぎます。

  • トラフィックソース管理:リソースの使用を許可するドメインを管理できます。これにより、ウェブサイトのセキュリティと安定性が確保されます。

この機能は、さまざまなシナリオで使用して、ウェブサイトの資産を保護し、トラフィックを管理し、ウェブサイトのセキュリティを向上させることができます。

仕組み

サーバーは各リクエストの Referer フィールドをチェックし、リクエストの Referer フィールドが事前に設定されたホワイトリストと一致しない場合、リクエストを拒否します。これにより、帯域幅とサーバーリソースを節約できます。Alibaba Cloud CDN の Referer ルールは次のとおりです。

  • リクエストの Referer ヘッダーが Referer ブラックリストに含まれているか、Referer ホワイトリストに含まれていない場合、Alibaba Cloud CDN はリクエストを拒否します。

  • リクエストの Referer ヘッダーが Referer ホワイトリストに含まれている場合、Alibaba Cloud CDN はリクエストを許可します。

image

操作手順

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

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

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

  4. 対象ドメインの左側のナビゲーションウィンドウで、RAM をクリックします。

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

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

    パラメーター

    説明

    タイプ

    • ブラックリスト

      Referer フィールドが Referer ブラックリストにあるリクエストは、リソースにアクセスできません。

    • ホワイトリスト

      Referer フィールドが Referer ホワイトリストにあるリクエストのみがリソースにアクセスできます。

    説明

    ホワイトリストとブラックリストは相互排他的です。どちらか一方のリストのみ設定できます。

    ルール

    • Referer ブラックリストまたはホワイトリストに複数のドメイン名を追加できます。ドメイン名は改行文字で区切ります。

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

    • アスタリスク (*) を省略して、ドメインとそのすべてのサブドメインを照合することもできます。たとえば、example.comexample.com*.example.com に一致します。

    説明
    • [ルール] フィールドに入力する内容は 60 KB を超えることはできません。

    • ルールを設定する際にプロトコルを指定する必要はありません。

    リダイレクト URL

    リクエストがブロックされた場合、HTTP ステータスコード 302 と Location ヘッダーが返されます。このパラメーターは Location ヘッダーの値です。値は http:// または https:// で始まる必要があります (例: http://www.example.com)。

    高度

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

    デフォルトでは、このチェックボックスは選択されていません。このチェックボックスを選択すると、Referer ブラックリストまたはホワイトリストを設定しているかどうかに関係なく、空の Referer ヘッダーを含むリクエストが CDN リソースにアクセスできるようになります。

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

    • Referer ヘッダーは含まれていますが、値は空です。

    完全一致

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

    スキームを無視

    • [スキームを無視] を選択しない場合、Referer ヘッダーの値は http:// または https:// で始まる必要があります。

    • [スキームを無視] を選択した場合、Referer ヘッダーの値は http:// または https:// で始まる必要はありません。

  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 は複数レベルのサブドメインに一致します。

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

http://example.com

いいえ

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

http://www.example.net

一致なし

リクエストはホワイトリストにもブラックリストにも一致しません。デフォルトでは、アクセスは許可されます。

よくある質問

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

ほとんどの場合、HTTP または HTTPS 文字列はリクエストの Referer ヘッダーに含まれています。

ただし、場合によっては、ブラウザが HTTPS を使用しないウェブサイトから HTTPS を使用するウェブサイトにリクエストをナビゲートするときに、Referrer-Policy などのセキュリティポリシーに基づいて機密性の高いユーザーデータを保護するために、Referer ヘッダーにドメイン名のみを提示することがあります。

さらに、一部のブラウザやプロキシサーバーは、プライベートブラウジングモードでのアクセスや匿名プロキシの使用など、特定のシナリオで Referer 文字列を自動的に除外することがあります。

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

リクエストの Referer ヘッダーが空になるのはなぜですか? この問題を解決するにはどうすればよいですか?

ほとんどの場合、リクエストの Referer ヘッダーには、プロトコル (httphttps など)、ホスト名、場合によってはパスやクエリ文字列を含む完全な URI が含まれています。リクエストの Referer ヘッダーが空になる理由は次のとおりです。

  • 直接アクセス:ユーザーがブラウザのアドレスバーに URL を入力したり、ブックマークを使用したり、新しい空白のブラウザタブを開いたりした場合、リファラーページが存在しないため、Referer ヘッダーは空になります。

  • ユーザーのプライバシー設定:ユーザーは、プライバシー上の懸念から、プライベートブラウジングモードを設定したり、プライバシー重視の拡張機能を使用して Referer ヘッダーを削除したりします。

  • セキュリティプロトコル:リクエストが HTTPS ページから HTTP ページにリダイレクトされた場合、ブラウザは機密情報の漏洩を防ぐために Referer ヘッダーを提示しません。

  • クライアントポリシー:セキュリティ上の理由から、一部のウェブサイトやアプリケーションは、<meta> タグや Referrer-Policy などの HTTP ヘッダーを指定して、ブラウザが Referer ヘッダーを送信するのを制限することがあります。

  • クロスオリジンリクエスト:特定のクロスオリジンリクエストには、ブラウザのセキュリティポリシーに基づいて Referer ヘッダーが含まれない場合があります。

処理方法は、さまざまなシナリオやセキュリティ要件によって異なります。

  • デフォルトポリシー:サービスが Referer ヘッダーに依存していない場合は、空の Referer ヘッダーを持つリクエストを許可できます。

  • アクセスを許可:特定の URL またはソースについては、ユーザーがブラウザのアドレスバーからリソース URL に直接アクセスできるようにします。 を選択して、これらの URL またはソースからのリクエストのみを許可できます。これにより、POP は Referer ヘッダーが空であるかどうかに関係なく、ユーザーがリソースにアクセスすることを許可します。