このトピックでは、オリジンフェッチ機能に関する相談形式の質問について説明します。トラブルシューティングに関する質問は、「オリジンフェッチトラブルシューティングガイド」をご参照ください。
Access-Control-Allow-Origin などのレスポンスヘッダーがオリジンサーバーで正しく設定されていることを確認する方法
確認方法は、オリジンサーバーのタイプによって異なります。
-
オリジンサーバーが Alibaba Cloud ECS の場合:Web サーバーの設定ファイルで、
Access-Control-Allow-Originなどの CORS レスポンスヘッダーが正しく設定されているか確認します。Apache の場合は.htaccessまたはhttpd.confのHeader set Access-Control-Allow-Originディレクティブを確認します。Nginx の場合はserverブロック内のadd_header Access-Control-Allow-Originディレクティブを確認します。設定を変更した後は、Web サーバーを再起動して変更を反映させます。 -
オリジンサーバーが Alibaba Cloud OSS の場合:OSS コンソールにログインし、バケットリストで対象のバケットをクリックした後、左側メニューで [データセキュリティ] > [オリジン間リソース共有 (CORS)] を選択します。CORS ルールの [ソース] にクロスオリジンリクエストを開始するドメイン名が含まれているか (このフィールドが
Access-Control-Allow-Originレスポンスヘッダーの値を決定します)、また、許可されたリクエストメソッドやその他の設定が正しいかを確認します。OSS の CORS 設定の詳細については、「CORS」をご参照ください。
設定が完了したら、リソースにアクセスし、ブラウザーの開発者ツールの [ネットワーク] パネルを使用して、レスポンスヘッダーに Access-Control-Allow-Origin が含まれているかを確認します。または、curl -I コマンドを使用してレスポンスヘッダーを直接表示します。
Content-Type をグローバルに video/mp4 に強制設定した場合、他のリソースに影響はありますか。また、正確に設定する方法を教えてください。
ドメイン名全体に対して Content-Type を video/mp4 に設定すると、画像、CSS、JS ファイルを含む、そのドメイン名配下のすべてのリソースタイプが影響を受けます。他のファイルへの影響を避けるためには、以下の方法で正確に設定してください。
-
パスによる一致:「受信レスポンスヘッダーの変更」ページでルールを追加する際に、ルール条件 を動画パスに一致するルール (例えば、
/vod-cd20e3/や.mp4サフィックス) に関連付けることで、設定が動画パスに対してのみ有効になるようにします。ルール条件の追加と管理については、「ルールエンジン」をご参照ください。 -
条件付き一致の使用:CDN コンソールでは、リクエストのサフィックスやヘッダー条件に基づいてレスポンスヘッダーを設定できます。
.mp4ファイルに対してのみContent-Type: video/mp4が返されるように設定を制限できます。
上記の方法を使用することで、画像など他のリソースタイプに影響を与えることなく、動画ファイルにのみ Content-Type を変更できます。
「受信レスポンスヘッダーの変更」機能は JS ファイルのみの設定をサポートしていますか。また、この設定は他のファイルタイプに影響しますか。
はい。「受信レスポンスヘッダーの変更」機能を使用して、他のファイルタイプに影響を与えることなく、JS ファイルにのみ Content-Type を application/javascript に設定できます。
方法:ルールを設定する際に、ルール条件を使用して .js サフィックスに一致させることで、レスポンスヘッダーの変更ルールが JS ファイルにのみ有効になるようにします。これにより、CSS や画像などの他のリソースタイプに影響を与えることなく、JS ファイルの MIME タイプが正しいことを保証します。
「受信レスポンスヘッダーの変更」設定を使用して、CDN 内のファイルの欠落や同期ステータスを確認できますか。
いいえ。「受信レスポンスヘッダーの変更」は、特定のファイルタイプの MIME タイプを修正または強制し、オリジンサーバーが最初に誤ったタイプを返したことによるキャッシュの問題を解決するための機能です。この機能は、CDN でファイルが欠落しているかどうかを検出したり、ファイル同期ステータスを判断したりするものではありません。
CDN にファイルが存在するかどうか、またはその同期ステータスが異常であるかを確認するには、次の方法があります。
-
CDN コンソールの [更新とプリフェッチ] 機能を使用して対象ファイルを更新 (URL 更新) し、CDN ノードにオリジンからファイルを再度取得させます。その後、再度ファイルにアクセスし、返されたステータスコードに基づいてファイルがオリジンに存在するかどうかを判断します。例えば、404 レスポンスは、ファイルがオリジンに存在しないことを示します。
-
オリジン側のファイルが正常にアクセス可能かを確認してください。
-
CDN のログをチェックして、オリジンフェッチのステータスコードが正常であることを確認してください。