2014-06-14 82 views
0

我試圖在S3存儲桶上啓用CORS。這裏是我的CORS配置:S3 CORS響應403

<CORSConfiguration> 
<CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
</CORSRule> 
</CORSConfiguration> 

如果我嘗試訪問我的桶的任何文件,服務器以403響應並執行以下操作:

<Error> 
    <script/> 
    <Code>AccessDenied</Code> 
    <Message>Access Denied</Message> 
    <RequestId>A0DDB22DAA8FEB96</RequestId> 
    <HostId> 
    wamh2M0Q2rfW2RAXdnJThqeWxVSxd2P2VVq0izvwipp2JATIipMc9CvAs9Qe+2iC 
    </HostId> 
</Error> 

如果我刪除了CORS配置,應有盡有工作正常。我錯過了什麼?

回答

1

這可能是因爲您沒有明確指定通過CORS進行呼叫時通常在飛行前請求中發送的允許標頭。

理想情況下,您還需要指定瀏覽器可以緩存這些飛行前請求的最長時間。嘗試修改您的CORS配置以包含以下信息:

<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
    <CORSRule> 
     <AllowedOrigin>*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 
+0

不幸的是,我仍然收到與此配置相同的錯誤。 – LandonSchropp

+0

您是否還可以發佈您存儲桶的訪問策略文檔?兩者之間可能會有衝突。 – Nikhil

+0

您是否在討論** Add Bucket Policy **按鈕中的內容?如果是這樣,它是空的。 – LandonSchropp