Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 挥之不去的No';访问控制允许原点';S3错误_Amazon S3_Cors - Fatal编程技术网

Amazon s3 挥之不去的No';访问控制允许原点';S3错误

Amazon s3 挥之不去的No';访问控制允许原点';S3错误,amazon-s3,cors,Amazon S3,Cors,我在从S3加载资产时遇到了一个奇怪的问题。我有一个从S3提供的样式表,似乎加载时没有问题,但我仍然得到一个请求的资源上没有“Access Control Allow Origin”头。控制台中出现错误。这些资产是公开的,这是我的桶上的CORS配置 <CORSRule> <AllowedOrigin>MYDOMAINHERE</AllowedOrigin> <AllowedMethod>GET</AllowedMethod>

我在从S3加载资产时遇到了一个奇怪的问题。我有一个从S3提供的样式表,似乎加载时没有问题,但我仍然得到一个
请求的资源上没有“Access Control Allow Origin”头。
控制台中出现错误。这些资产是公开的,这是我的桶上的CORS配置

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

MYDOMAINHERE
得到
3000
*

同样,所有的风格都在加载,一切似乎都很好,但我只是想弄明白为什么它仍然会抛出错误,并希望尽可能消除它。谢谢

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

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


但是,如果问题在于网络端的缓存/代理,则获取新副本可能会更困难。在这些情况下,您可能只需等待缓存过期。查看
过期
缓存控制
响应头的值可以让您知道何时会发生。

的值必须以
http://
https://
开头。你有吗?它是否与你的站点的操作模式(http/https)相匹配?是的,对不起,应该指定它。我有两个
规范-一个用于http,一个用于https。MYDOMAINHERE只是一个占位符,这可能是因为浏览器缓存了该样式表,并继续从缓存中为其提供服务。因此,可以尝试在浏览器中强制重新加载样式表URL,以使浏览器通过网络而不是从缓存副本重新加载它。如果这还不能解决问题,我想也有可能中间有一些网络缓存/代理,仍然在提供过时的副本。但如果是这样的话,我不知道如何建议修复它……向我们展示捕获的请求和响应头?S3中的CORS处理存在一个问题,这可能会导致@sideshowbarker提出的建议。@sideshowbarker michael sqlbot我认为这正是问题所在。该错误似乎在某些页面(如主页)上消失了,因此服务器必须缓存旧版本。我想这只是一场等待的游戏吧!如果你们中有人想回答,我可以把它标记为正确!