Amazon Simple Storage Service
開発者ガイド (API バージョン 2006-03-01)

CORS の問題のトラブルシューティング

CORS 設定を行ったバケットにアクセス中に予期しない動作が発生した場合は、以下のステップを試してトラブルシューティングを行います。

  1. バケットに CORS 設定が行われていることを確認します。

    手順については、Amazon Simple Storage Service コンソールユーザーガイド の「バケット許可の編集」を参照してください。CORS 設定を行うと、コンソールの [プロパティ] バケットの [アクセス権限] セクションに [Edit CORS Configuration (CORS 設定の編集)] リンクが表示されます。

  2. 任意のツールを使用してリクエストとレスポンスの全体を取り込みます。Amazon S3 が受信するすべてのリクエストには、リクエストのデータと一致する、以下のような CORS ルールが存在している必要があります。

    1. リクエストに Origin ヘッダーがあること。

      ヘッダーがないリクエストは、Amazon S3 でクロスオリジンリクエストとして扱われず、CORS レスポンスヘッダーをレスポンスに入れて送信しません。

    2. リクエストの Origin ヘッダーが指定された AllowedOriginCORSRule 要素の少なくとも 1 つと一致していること。

      リクエストの Origin ヘッダーのスキーム、ホスト、およびポートの値が AllowedOriginCORSRule 要素と一致していること。たとえば、オリジン CORSRule を許可するように http://www.example.com を設定した場合は、リクエスト内に https://www.example.comhttp://www.example.com:80 のオリジンがあると、設定で許可されているオリジンと一致しなくなります。

    3. リクエスト内のメソッド (または、プリフライトリクエストの場合は Access-Control-Request-Method に指定したメソッド) が、同じ AllowedMethod 内の CORSRule 要素の 1 つであること。

    4. プリフライトリクエストの場合、それに Access-Control-Request-Headers ヘッダーが含まれているときに、CORSRuleAllowedHeader ヘッダーのすべての値に対する Access-Control-Request-Headers エントリが含まれていること。