跨域请求
跨域请求指的就是不同的域名和端口之间的访问。
由于 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 错误,但当我重命名字体文件时,它就可以了。
参考链接: