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

ApsaraVideo VOD:CORSの設定

最終更新日:Oct 29, 2024

このトピックでは、HTML5プレーヤー、Flashプレーヤー、およびObject Storage Service (OSS) を使用して実行される再生用にクロスオリジンリソース共有 (CORS) を設定する方法について説明します。

HTML5プレーヤーを使用してFLVおよびM3U8ビデオを再生するためのCORSの設定

次のエラーメッセージが返された場合、この問題を解決するには、再生用のドメイン名のCORSを有効にする必要があります。

No ‘Access-Control-Allow-Origin’ header is present on the requested resource. 
Origin ‘http://localhost:9030‘ is therefore not allowed access.

HTTPヘッダーを追加してCORSを有効にします。 詳細については、「カスタムHTTPレスポンスヘッダーの設定」をご参照ください。

  • Access-Control-Allow-Origin: クロスオリジンリクエストを許可するドメイン名を指定します。 HTTPヘッダーの値を、ビデオが再生されるWebサイトのドメイン名に設定します。 たとえば、https://www.aliyundoc.com Webサイトでビデオを再生する場合は、値を https://www.aliyundoc.com に設定します。 次の図は、Access-Control-Allow-Originヘッダーの設定方法を示しています。Configure the Access-Control-Allow-Origin header

  • Access-Control-Allow-Methods: クロスオリジンリクエストの許可されたメソッドを指定します。 有効な値: POSTおよびGET。 POSTメソッドとGETメソッドの両方を指定し、コンマ (,) で区切ることができます。 次の図は、Access-Control-Allow-Methodsヘッダーの設定方法を示しています。Configure the Access-Control-Allow-Methods header

説明

.ts部分のURLとM3U8ビデオのURLが異なるドメイン名に属している場合は、.ts部分のドメイン名に前述のHTTPヘッダーを設定する必要があります。

FlashプレーヤーのCORSの設定

次の図のエラーメッセージが返された場合は、インターネットコンテンツプロバイダ (ICP) ファイリングが取得されているかどうか、およびCNAMEがドメイン名にマップされているかどうかを確認します。 詳細については、「ドメイン名の要件」および「Alibaba Cloud DNSにCNAMEレコードを追加する」をご参照ください。

Error message of the Flash player

ドメイン名にICP登録があり、CNAMEにマップされている場合は、CORSを設定する必要があります。 CORSを設定するには、crossdomain.xmlという名前のクロスオリジンポリシーファイルをプレーヤーに追加します。

ビデオURLが属するドメイン名のルートディレクトリにファイルを追加します。 再生するビデオがOSSバケットに保存されている場合は、OSSバケットのルートディレクトリにファイルを追加します。

ApsaraVideo VODを有効にした場合、サービスを有効にした後、ApsaraVideo VODによってcrossdomain.xmlファイルが自動的に追加されます。 次に、SetCrossdomainContent操作を呼び出して、crossdomain.xmlファイルの内容を更新できます。

次のコードは、crossdomain.xmlファイルのコンテンツの例を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
    <allow-access-from domain="*"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>
説明

サムネイルのURLとビデオのURLが異なるドメイン名に属している場合は、サムネイルのドメイン名にcrossdomain.xmlファイルを追加する必要があります。

OSSに保存されているビデオを再生するためのCORSの設定

ビデオが保存されているOSSバケットにプレーヤーがアクセスする場合は、OSSバケットのCORSを設定する必要があります。 詳細については、「CORSルールの設定」をご参照ください。

CORSルールを作成するには、次のパラメーターを設定します。

  • Sources: パラメーターをアスタリスク (*) に設定します。

  • 許可メソッド: 有効な値: GET、POST、PUT、DELETE、およびHEAD。

  • 許可されたヘッダー: パラメーターをアスタリスク (*) に設定します。

  • Exposed Headers: パラメーターをETagに設定します。

重要

このルールをすべてのCORSルールの最初として指定します。

次の図は、CORSルールを作成するためのパラメーターの設定方法を示しています。Create a CORS rule