延迟S3的“Access-Control-Allow-Origin”错误

时间:2017-07-02 19:23:52

标签: amazon-s3 cors

我在从S3加载资产时遇到了一个奇怪的问题。我有一个从S3提供的样式表,似乎没有任何问题加载,但我仍然在控制台中收到No 'Access-Control-Allow-Origin' header is present on the requested resource.错误。资产是公开的,这是我的存储桶上的CORS配置

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

同样,样式都是加载的,一切似乎都很好,但我只想弄清楚为什么它仍会抛出该错误并希望尽可能消除它。谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

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