このトピックでは、CORSルールを設定した後、CDNによって高速化されたObject Storage Service (OSS) リソースにCDN高速化ドメイン名を使用してアクセスできないという問題の原因と解決策について説明します。
問題の説明
OSSコンソールでクロスオリジンリソース共有 (CORS) ルールを設定すると、CDN高速化ドメイン名を使用してOSSリソースにアクセスできなくなります。
原因
Alibaba Cloud CDNのPOP (Pop) には、CORSが設定される前にキャッシュされた元のレスポンスヘッダーがあります。 その結果、ブラウザが期限切れのレスポンスヘッダーを受信するため、クロスオリジンリクエストは失敗します。
CDN高速化ドメイン名を許可されたオリジンとして設定しなかったか、有効なカスタムリクエストヘッダーまたはGET、POST、DELETEなどのHTTPメソッドを指定しなかった。
解決策
Alibaba Cloud CDN コンソールにログインします。
[POP HTTPレスポンスヘッダー] ダイアログボックスで、次の表に示すように、カスタムレスポンスヘッダーと対応するヘッダー値を設定します。
説明次のパラメーター設定は参照用です。 ビジネス要件に基づいて各ヘッダーの値を変更します。
応答ヘッダー
ヘッダー値
アクセス制御-許可-オリジン
値をアスタリスク (*) に設定し、クロスオリジンリクエストの認証を有効にします。
アクセス制御-許可-メソッド
POST、GET、HEAD、PUT、DELETE
アクセス制御-Max-Age
3600
次の図は、設定後の結果を示しています。
前のヘッダーを設定した後、POPs経由でOSSリソースにアクセスしてCORSが期待どおりに機能するようにすると、前のヘッダーがレスポンスに含まれます。 テスト結果: