簡體   English   中英

S3 CORS 錯誤永無止境

[英]S3 CORS errors never end

我正在使用 S3 從 UI 上傳圖像。 我有一個帶有訪問密鑰 ID/秘密訪問密鑰的 AMI,它只允許putObjectgetObject 所有putObject都使用public-read acl 調用。

我在 S3 存儲桶中有這個 CORS 配置:

<CORSConfiguration>
<CORSRule>
    <AllowedOrigin>https://foo.com</AllowedOrigin>
    <AllowedOrigin>http://localhost:5000</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>

我不斷收到這些 CORS 錯誤:

XMLHttpRequest 無法加載https://foo.s3.amazonaws.com/items/images/e75768-2018-0-26/roar-bomber.png 對預檢請求的響應未通過訪問控制檢查:請求的資源上不存在“Access-Control-Allow-Origin”標頭。 因此,不允許訪問 Origin ' https://foo.com '。 響應具有 HTTP 狀態代碼 403。

我顯然允許正確的起源,所以我不知道為什么它一直對我大喊大叫。 但更糟糕的是,它有時會工作,然后即使在什么都沒有改變之后又會停止工作......

使用 Chrome 瀏覽器。

更新

AWS 不允許將OPTIONS方法設置為允許的方法。 按照指南https://docs.aws.amazon.com/en_pv/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors ,檢查部分AllowedMethod Element


添加 CORS 配置中允許的OPTIONS方法。

預檢請求使用 OPTION 方法來檢查 CORS 允許使用哪些方法。

https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM