跨域請求配置 Amazon AWS S3文件桶解決方案 Lebal:Research

跨域請求

跨域請求指的就是不同的域名和端口之間的訪問。
由於 ajax 的同源策略影響。跨域請求默認是不被允許的。

Amazon AWS S3 文件桶與CloudFront配合時常會遇到無法加載外掛字體(.eot,.otf等)卻可以訪問js代碼的問題:Access to XML Http Request at xxx from origin xxx has been blocked by CORS policy =,我查詢各搜索引擎資料,整合了一些方案,列舉如下。


 

首先,轉到 S3 存儲桶的 Web 界面,單擊"屬性",然後單擊"權限",然後單擊"編輯 CORS 配置"。輸入此並保存它:

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

 

接下來,轉到CloudFront"分發"的 Web 界面,然後單擊"分發設置",然後單擊"行爲"選項卡。 選擇行爲(多個的話每個都要改,然後單擊"編輯"。

對於"轉發標題",將其從"無(改進緩存)"更改爲"白名單"。將顯示"白名單標題"部分。將"原點"添加到此列表。這告訴 Cloudfront 在緩存時考慮"原點"標頭。

最後,重命名字體文件以進行良好的度量,以便 Cloudfront 將它們視爲新文件。我執行了上述所有步驟,但仍收到 IE 錯誤,但當我重命名字體文件時,它就可以了。

 

參考鏈接:

http://www.holovaty.com/writing/cors-ie-cloudfront/

https://stackoverflow.com/questions/25577981/font-from-origin-has-been-blocked-from-loading-by-cross-origin-resource-sharing

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章