【发布时间】:2016-02-24 19:02:55
【问题描述】:
如果我清除浏览器缓存,加载的所有内容都会从支持云端的 S3 存储桶中找到。但是,当我关闭缓存时,控制台中出现错误:
来源 [ORIGIN URL] 的图像已被跨域资源共享策略阻止加载:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin [MY LOCALHOST ADDRESS] 因此不允许访问。
我的 CORS 配置:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
不久前我也遵循了这个建议并更改了 cloundfront 发行版设置。它似乎在当时有效,但现在绝对不适用于浏览器缓存: CORS problems with Amazon S3 on the latest Chomium and Google Canary
我还尝试在我的网站 .htaccess 中添加“Header add Access-Control-Allow-Origin "*"”。没有运气。注意:我的网站是从 localhost 托管和访问的(它是一个开发环境)。
【问题讨论】:
-
在您更新 S3 CORS 配置之前,CloudFront 是否缓存了对象?
-
我已经好几个月没有更改 CORS 配置了。这个问题开始在 Chrome 中自发发生。
标签: amazon-web-services amazon-s3 cors amazon-cloudfront