S3原点的CloudFront响应不断更改CORS标题



这是我的问题:将CORS设置为应该在S3上:

<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>

当我尝试获取文件时(将jQuery与option crossdomain = true一起使用(

来自 a.example.com -> b.example.com/file.js (与正确的标头一起使用(当我尝试来自另一个域的相同请求时: c.dev.example.com -> b.example.com/file.js //(失败(

但是,对于第二个示例,当我查看Chrome中的网络日志时我的第一个请求选项

它具有正确的CORS响应标题:

access-control-allow-headers: access-control-allow-headers
access-control-allow-methods: GET
access-control-allow-origin: *
access-control-max-age: 3000
content-length: 0
date: Mon, 26 Mar 2018 14:38:36 GMT
server: AmazonS3
status: 200
vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method
via: 1.1 f19281f08e79aa6c6634266c50732dd5.cloudfront.net (CloudFront)
x-amz-cf-id: S2aMKSsJspB9p2RVxLMNh49iQ3Rc0Uims-EEIcjbxC42_OpqJpoUXQ==
x-cache: Miss from cloudfront

但是 get 请求(选项之后(:

accept-ranges: bytes
content-length: 817
content-type: application/javascript
date: Mon, 26 Mar 2018 14:19:46 GMT
etag: "5b85d498318db8095a776fdcae57c624"
last-modified: Mon, 26 Mar 2018 14:19:20 GMT
server: AmazonS3
status: 200
via: 1.1 f19281f08e79aa6c6634266c50732dd5.cloudfront.net (CloudFront)
x-amz-cf-id: C0xswS08mXDHkagm3phQT59wjclwEX9ZZHXr57OpZVMHzkf432H7dg==
x-cache: RefreshHit from cloudfront

我在云层上的TTL是5秒(对于我的用例,必须具有侵略性(我正在使用 H2 协议,而不是 http/1.1

我的问题是由于一个已知的问题,与云方在响应中未发送'vary:oneard'标题的事实有关,因此响应是由触发的浏览器缓存的错误。

更多详细信息:https://forums.aws.amazon.com/thread.jspa?threadid=156134还有更多详细信息在这里:https://serverfault.com/questions/856904/chrome-s3-cloudfront-no-access-control-origin-origin-origin-header-initial-initial-initial-initial-xhr-xhr-req/856948#856948 #856948 #pp>

最新更新