CloudFront忽略Cache-Control标头

时间:2015-02-12 14:52:27

标签: nginx amazon-cloudfront

CloudFront忽略了我的缓存标题,我的图片必须在一段时间后再次从服务器中获取。

~$ curl -I http://d2573vy43ojbo7.cloudfront.net/attachments/store/limit/64/3720c5574063aebc90511061b99de858740ad764c6981d2bf30ff121ada0/image.jpg
 HTTP/1.1 200 OK
 Content-Type: image/jpeg
 Content-Length: 1645
 Connection: keep-alive
 Server: nginx/1.4.1
 Date: Thu, 12 Feb 2015 14:37:41 GMT
 Status: 200 OK
 Access-Control-Allow-Origin: *
 Access-Control-Allow-Headers:
 Access-Control-Allow-Method:
 Cache-Control: public, must-revalidate, max-age=31536000
 Expires: Fri, 12 Feb 2016 14:37:41 GMT
 Content-Disposition: inline; filename="image.jpg"
 Last-Modified: Thu, 12 Feb 2015 14:37:41 GMT
 X-Content-Type-Options: nosniff
 X-Request-Id: 239b0fda-cae9-452f-9d1b-ccbf035bbf69
 X-Runtime: 3.457939
 X-Cache: Miss from cloudfront
 Via: 1.1 6cde3c778df412041adc7610331b57bc.cloudfront.net (CloudFront)
 X-Amz-Cf-Id: yicAkZYc5XpowKRFMOXDKSJKBMWZ4kq2B3vLK8Q-Py124D8lQq_1lg==

我试图昨天获得相同的文件然后它是相同的,在我第二次尝试它之后达到并由CloudFront服务但不再存在。我的所有图片都是一样的。它们被缓存但几个小时后就会从缓存中删除。

出了什么问题?我在CloudFront上的缓存行为设置设置为默认值,它使用Origin Cache Headers。

1 个答案:

答案 0 :(得分:0)

看看这里:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html

  

如果经常请求边缘位置中的对象,CloudFront可能会在对象过期之前逐出对象删除对象,以便为更受欢迎的对象腾出空间。

这意味着对象不够流行,不能长时间保留在缓存中。如果您有足够的观看者点击此对象和此特定CloudFront位置,那么它将保留在缓存中更长