メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

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

CORS 設定を行ったバケットにアクセスした際、予期しない動作が発生する場合には、トラブルシューティングのために以下のアクションを実行することができます。

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

    手順については、『Amazon Simple Storage Service コンソールユーザーガイド』の「Editing Bucket Permissions」を参照してください。CORS 設定を行うと、コンソールにより、[Properties] バケットの [Permissions] セクションに [Edit CORS Configuration] リンクが表示されます。

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

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

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

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

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

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

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