2

AWS S3 への CORS リクエスト (具体的には OPTIONS) が断続的に失敗し (~1/3 試行)、403 レスポンス コードと次のエラー メッセージが表示されるという奇妙な問題が発生しています。

Cross-Origin Request Blocked: 同一オリジン ポリシーにより、 https://s3.amazonaws.com/some-bucket/some-video.mp4?uploadsでのリモート リソースの読み取りが許可されません。(理由: CORS ヘッダー 'Access-Control-Allow-Origin' がありません)。

S3 CORS構成、私が求めているユースケース (mp4 のアップロード) や他のアセットのアップロード (画像、CSS、JS など) をこの同じバケットに、同じ関数 (AWS -SDK の Bucket#upload) は問題なく動作します。

なぜこれが起こるのか誰にも分かりますか?SDK が予期しない Access-Control-Request-Method ヘッダーを使用しないようにすることはできますか?

更新:さらに掘り下げた後、 OPTIONS リクエストがdefault ではなくヘッダーで送信されることがあるために、これが発生しているという結論に達しました。CORS 構成で POST がホワイトリストに登録されていないため、これらの要求が失敗するようです。Access-Control-Request-Method: POSTAccess-Control-Request-Method: PUT

なぜこれが起こるのか誰にも分かりますか?これは SDK のバグですか? ドキュメントの見落とし?ドキュメント*はPUTが発行されることを暗示しているので、私は2つが矛盾していると主張します.

*このメソッドのドキュメントから:

Bucket — (文字列) PUT 操作が開始されたバケットの名前。

Key — (文字列) PUT 操作が開始されたオブジェクト キー。

4

1 に答える 1