【问题标题】:CloudFront ignores Cache-Control headersCloudFront 忽略 Cache-Control 标头
【发布时间】:2015-04-13 08:53:53
【问题描述】:

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 上的缓存行为设置设置为默认值,它使用原始缓存标头。

【问题讨论】:

  • 您找到解决方案了吗?我一直在挖掘没有任何运气。我得到的结果和你一样。
  • 很遗憾没有。我开始通过 Nginx 而不是仅仅使用 CloudFront 来捕获我的资产。

标签: nginx amazon-cloudfront


【解决方案1】:

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

如果边缘站点中的对象不经常被请求,CloudFront 可能会驱逐该对象(在其到期日期之前移除该对象),以便为更受欢迎的对象腾出空间。

这意味着对象不够流行,无法在缓存中停留更长时间。如果您有足够多的查看者点击此对象和此特定 CloudFront 位置,它会在缓存中停留更长时间

【讨论】:

  • 问题是我的图片都不受欢迎。现在只有我作为开发人员请求文件。文件何时流行?如何阻止 CloudFront 删除缓存的对象?
  • 简单的答案——你做不到。虽然定期请求对象似乎是一种解决方案,但实际上并非如此——您能做的最好的事情就是将对象保留在您正在访问的一个 CloudFront POP 中。一旦您获得真正的流量,它将被缓存在您客户附近的 POP 中
  • 要将对象保留在 CF 缓存中的主要原因是什么?
  • 我的图像缩略图是即时生成的,生成缩略图需要大约 20 秒。如果我使用自定义并将最小 ttl 设置为一年会有帮助吗?
  • 我认为这里最好的(也是唯一有效的)解决方案是确保生成的缩略图图像保持不变,并在需要时在原始位置可用。使用 CloudFront 设置调整文件不会再保留在缓存中,因为 CloudFront 不是存储服务,而是缓存。
猜你喜欢
  • 2021-03-16
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 2016-06-25
  • 1970-01-01
  • 2020-08-11
  • 2022-12-09
  • 2019-09-19
相关资源
最近更新 更多