延迟没有'访问控制允许来源'错误与S3

问题描述:

我有一个奇怪的问题从S3加载资产。我有一个样式表,它是从S3提供的,似乎没有问题加载,但我仍然在控制台中收到No 'Access-Control-Allow-Origin' header is present on the requested resource.错误。资产是公开的,这里是我的桶的CORS配置延迟没有'访问控制允许来源'错误与S3

<CORSRule> 
    <AllowedOrigin>MYDOMAINHERE</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
    <MaxAgeSeconds>3000</MaxAgeSeconds> 
    <AllowedHeader>*</AllowedHeader> 
</CORSRule> 

再次,风格都加载和一切似乎是罚款,但我只是想为什么它仍然会抛出这个错误要弄清楚并希望尽可能消除它。谢谢!

+0

”的值必须以“http://”或“https://”开头。你有这个,它是否符合你网站的操作模式(http/https)? –

+0

是的,抱歉,应该指定。我有两个''规范 - 一个用于http,一个用于https。 MYDOMAINHERE只是一个占位符。 – Chris

+0

这可能只是由于浏览器缓存了该样式表并继续从其缓存中提供服务。因此,可以尝试在浏览器中强制重新加载样式表网址,以使浏览器通过网络而不是其缓存副本重新加载它。如果这不能解决它,我想也可能你有一些网络缓存/代理之间仍然提供一个陈旧的副本。但如果是这样,不知道如何建议修复... – sideshowbarker

问题中描述的行为很可能是由于浏览器缓存了资源并继续从其缓存中提供服务,或者服务器端的某些内容或中间网络代理/缓存仍在提供陈旧副本。

如果缓存问题出现在客户端,请尝试直接在浏览器中导航到资源的URL,然后强制重新加载它。

但是,如果问题出现在网络端的缓存/代理服务器上,那么获取全新副本会更加困难。在这些情况下,您可能只需等待缓存过期。查看ExpiresCache-Control响应标头的值可以让您了解何时会发生这种情况。