2016-10-18 9 views
2

S3の静的ファイルがAPIゲートウェイにPOSTリクエストを送信するセットアップがありますが、CORSセットアップが正しく行われないのは本当に苦労します。CORSはAWS API Gateway、S3、およびブラウザで動作しませんか?

私の最後の試みでは、Access Control-Allow-Originヘッダーをs3ドメインにすることは難しくありません。

郵便受けでは、Access-Control-Allow-Originが正しく返されていますが、S3からデータを要求するとき、クロムとサファリでは拒否されます。 Access-Control-Allow-Originヘッダーにもワイルドカードを使用しようとしましたが、同じ効果があります。

私はここで何が不足していますか?

編集 APIゲートウェイでもCORSを有効にしました。これらのスクリーンショットを添付しました。これを返信いただきありがとうございます!

OPTIONS header values

POST overview

POST method with CORS

OPTIONS method with CORS

enter image description here

Safari error message

+0

ただチェックしています... [APIゲートウェイリソースのCORSを有効にする](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html)でしたか? –

+0

また、CORSを有効にした後でAPIを導入しましたか?私はこれを何度もやった後に展開するのを忘れてしまった。 – ranman

+0

ポインタ@ JohnRotensteinとranmamをありがとう、私はポストを更新しました。私も再確認しました。私はそこにも拘束されています。 – Alex

答えて

2

重大なヘッドスクラッチをした後、AWSが自動的に追加するCORS OPTIONSリソースと一緒にリソースプロキシを組み合わせて使用​​していたという問題が見つかりました。私のラムダ関数へのリソースプロキシでは、元のヘッダを指定することができず、とにかく私が実行した「CORSを有効にする」ステップのために追加されると仮定しました。リソースプロキシを使用しなくなり、マッピングを手作業で書き留めてしまい、問題が解決しました(今、統合マッピングでヘッダ値を自分で指定することができました)。

関連する問題