来自 S3 Origin 的 Cloudfront 的响应不断更改 CORS 标头

来自 S3 Origin 的 Cloudfront 的响应不断更改 CORS 标头

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

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

当我尝试获取文件时(使用 jQuery 和选项 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 请求(紧接着 OPTIONS 之后):

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

我在 Cloudfront 上的 TTL 是 5 秒(对于我的用例来说,它必须足够长)我正在使用氢键协议而不是http/1.1

答案1

相关内容