【问题标题】:Upload new object to CloudFront. Curl show the file changed but the browsers don't将新对象上传到 CloudFront。卷曲显示文件已更改,但浏览器没有
【发布时间】:2018-04-30 08:50:17
【问题描述】:

我正在尝试理解这种奇怪的行为。
我在 CloudFront 上有一个 Web 分发列表,它从 S3 获取文件。
我已经在 CF 中设置了

Minimum TTL: max-age=15

我也可以在带有 curl 的页眉中看到最大年龄值

内容类型:文本/html 内容长度:851 连接:保持活动 日期:格林威治标准时间 2017 年 11 月 16 日星期四 16:48:08 最后修改时间:2017 年 11 月 16 日星期四 16:48:01 GMT ETag:“6f05a132c76b8e482f8f72f3cd2aa2b1” 缓存控制:max-age=15 接受范围:字节 服务器:亚马逊S3 X-Cache:来自云端的 RefreshHit 通过:1.1 dba4881aee9ac99f5dba4dcd7e8175b1.cloudfront.net (CloudFront) X-Amz-Cf-Id:8Cwu-1UPFb2BL03mvu3exf17UzWqCZVrUGvNtc2xCeVg47G1UnqVjg==

一旦我上传了包含我的更改的新 html 页面,如果我 curl 资源,我可以看到页面发生了变化。 如果我使用 Firefox/Chrome 打开页面,页面不会更改,并且不尊重 max-age 值,因为标题中的年龄值约为 32000

日期:2017 年 11 月 16 日星期四 17:23:41 GMT etag:“8ad74acb5563f12bfd239683a3d96d75” 缓存控制:15 服务器:亚马逊S3 年龄:31029 x-cache :从云端命中 通过:1.1 1d3fdb2bba223d815ff2e40453…8.cloudfront.net (CloudFront) x-amz-cf-id :ooeDeSw-_ZpMDR25_yN9VhfyJF2FeAgiklzE5QZusNRs_glDqobgcg==

还有什么我错过或没有考虑到的?

【问题讨论】:

    标签: curl caching amazon-cloudfront


    【解决方案1】:

    在 S3 中更改对象不会将其推送到 CloudFront,如果它已经缓存在那里,因为这个是......从您发出请求之前的 31029 秒开始。

    age :31029
    

    要从 CloudFront 缓存中逐出对象(强制 CloudFront 在下次请求对象时从源发出新请求)需要 invalidation

    还请注意,此处的最小 TTL 没有实际意义,因为这是 CloudFront 在最初缓存对象时将遵守的最小值 max-ages-maxage。只有当对象的最大生命周期比最小生命周期短时,它才会做任何事情,并且一旦对象被缓存,它很可能没有任何后果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2016-03-08
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 2017-11-25
      • 2017-08-08
      相关资源
      最近更新 更多