跨域请求配置 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

猜你喜欢

转载自www.cnblogs.com/radiumlrb/p/11291917.html
今日推荐