Cloudfront:每个资源请求都通过不同的云端子域

时间:2016-12-20 16:44:04

标签: caching amazon-cloudfront

通过浏览器或cURL请求JavaScript资源(libraries.js)时,我得到了一致的Cloudfront缓存未命中(X-Cache:来自Cloudfront的Miss)。该项的max-age,expires和cache-control标头都已正确设置。

当我检查回复时,我可以看到所有请求回复对 Via 属性都有不同的值:

curl -kv http://example.org/libraries.js (x5)

回复1

Cache-Control: max-age=172800
Expires: Thu, 22 Dec 2016 15:00:24 GMT
X-Cache: Miss from cloudfront
Via: 1.1 37af1xxxxxx8abe6.cloudfront.net (CloudFront)

回复2

X-Cache: Miss from cloudfront
Via: 1.1 1b52axxxxxxf467a.cloudfront.net (CloudFront)

回复3

X-Cache: Miss from cloudfront
Via: 1.1 ae162xxxxxxec67a.cloudfront.net (CloudFront)

回复4

X-Cache: Miss from cloudfront
Via: 1.1 ff555xxxxxx6cc33.cloudfront.net (CloudFront)

回应5

X-Cache: Miss from cloudfront
Via: 1.1  b9a8cxxxxxxf1ec8.cloudfront.net (CloudFront)

每个子域似乎在每个请求上都不同。 当我直接从节点地址(xxxxx.cloudfront.net)而不是我自己的域请求资源时,Cache成功命中,这使我相信每个via地址实际上是一个不同的边缘位置。

Cloudfront中子域的作用是什么?这是一个将请求重定向到Cloudfront的动态变量,还是实际上是边缘缓存的位置?

在我看来,没有一个请求是缓存命中,因为请求不在子域的缓存中,并且由于它不断通过不同的URL请求,因此很少从缓存中提供。

在Amazon Cloudfront文档中,我只能找到有关自定义子域的文档。

0 个答案:

没有答案