【问题标题】:Cloudfront does not reliably store images over a period of daysCloudfront 在几天内无法可靠地存储图像
【发布时间】:2014-09-14 20:50:22
【问题描述】:

我有一个为电子商务网站动态生成图像的网络服务器,并且我在该服务器前面设置了 Amazon Cloudfront 来缓存图像请求以减少我自己服务器上的负载。

我发现在任何一天,图像(一天一次加载一次)都是从云端提供的。例如:

问题是图像正在每天都在重新生成(Cloudfront 缺少我的图像,需要从我的服务器请求它),cloudfront 似乎忽略了我在我的自己的服务器并选择默认值 24 小时。这是来自云端“背后”服务器的响应:

Cloudfront 是否有任何理由会根据我发送的回复忽略我的“max-age”值?为了增加额外的愤怒,它确实会保留一些图像超过 24 小时,但不会超过几天。

【问题讨论】:

    标签: image amazon-web-services cdn amazon-cloudfront


    【解决方案1】:

    这可能是Amazon CloudFront 在对象过期方面如何操作的工件,请参阅Specifying How Long Objects Stay in a CloudFront Edge Cache (Expiration)

    通常,CloudFront 从边缘站点为对象提供服务,直到 对象过期。过期后,下次边缘位置获取 对象的最终用户请求,CloudFront 将请求转发到 源服务器验证缓存是否包含最新版本 对象:

    • 如果 CloudFront 已经有最新版本,则源仅返回 304 状态代码(未修改)。

    • 如果 CloudFront 没有最新版本,则源返回 200 状态代码 (OK) 和对象的最新版本。

    如果边缘位置的对象不经常被请求, CloudFront 可能会驱逐对象——在对象之前移除对象 过期日期——为更受欢迎的物品腾出空间。 [强调我的]

    不频繁的对象访问也可以解释为什么它确实会保留一些图像超过 24 小时,但不会超过几天。 CloudFront Access Logs 中缺少条目应该可以看出这一点,因此,如果您不确定这些文件经常被请求,检查日志可能会产生明确的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-28
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多