为什么Cloudfront似乎正在更改access-control-allow-origin标头

时间:2016-10-14 17:09:39

标签: apache cors amazon-cloudfront

我正在尝试部署新的网络服务器。当我把它现场,它打破了CORS。但我无法理解发生了什么。

我正在查看从我们的Cloudfront发行版提供的require.js文件的响应标头。当从新的Web服务器提供主页面(index.php)时,require.js文件中不存在access-control-allow-origin标头。当我回滚到旧的网络服务器时,require.js文件中的access-controller-allow-origin标题存在(并设置为' *')。

令我困惑的是,浏览器加载的网址require.js来自两种情况都是相同的网址。并且cdn似乎正在提供相同的文件(last-modified& etag标题相同)。

我已在下面列出了请求/回复标题 -

请求旧网络服务器的标头

authority:d225ssmdffxd7n.cloudfront.net
:method:GET
:path:/js/vendor/require.js
:scheme:https
accept:*/*
accept-encoding:gzip, deflate, sdch, br
accept-language:en-US,en;q=0.8,en-GB;q=0.6
cache-control:no-cache
origin:https://mapov.com
pragma:no-cache
referer:https://mapov.com/hotels/london/?logging=0
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36

响应标题

accept-ranges:bytes
access-control-allow-origin:*
age:66833
content-encoding:gzip
content-length:6333
content-type:application/javascript
date:Thu, 13 Oct 2016 21:50:07 GMT
etag:"3ca4-53da524de4d40-gzip"
last-modified:Thu, 29 Sep 2016 13:06:21 GMT
server:Apache/2.4.10 (Debian) PHP/7.0.11
status:200
vary:Accept-Encoding
via:1.1 6bbd2840b7a9b02e1571b22b1aeabc46.cloudfront.net (CloudFront)
x-amz-cf-id:RK2HEE5FmsJty0woIeL27F6YS0lVQ4dhjxZ-iJDgQ0UzZeoZUxuPyQ==
x-cache:Hit from cloud front

不成功的请求标头(新网络服务器)

:authority:d225ssmdffxd7n.cloudfront.net
:method:GET
:path:/js/vendor/require.js
:scheme:https
accept:*/*
accept-encoding:gzip, deflate, sdch, br
accept-language:en-US,en;q=0.8,en-GB;q=0.6
cache-control:no-cache
origin:https://mapov.com
pragma:no-cache
referer:https://mapov.com/hotels/corbridge/?logging=0&nus=0
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
Name

响应标题

accept-ranges:bytes
age:5417
content-encoding:gzip
content-length:6333
content-type:application/javascript
date:Fri, 14 Oct 2016 14:28:35 GMT
etag:"3ca4-53da524de4d40-gzip"
last-modified:Thu, 29 Sep 2016 13:06:21 GMT
server:Apache/2.4.23 (Ubuntu)
status:200
vary:Accept-Encoding
via:1.1 ebc9acf67c6dc1a3a63cf0e997cc1068.cloudfront.net (CloudFront)
x-amz-cf-id:v-EUfwFNqcXpkrZ90_MRhpmTcWg5RaspOmH576fX_FCdNG8TfhtjIA==
x-cache:Hit from cloud front

有人能说出这里发生了什么吗?为什么云前端会更改请求之间的access-control-allow-origin标头? (当它看起来并没有刷新底层资源时)。

更新

查看响应中的age标头,似乎Cloudfront正在为不同的资源提供服务。但为什么?为什么它会恢复为在同一个URL上提供旧资源?

0 个答案:

没有答案