我正在使用云前端作为CDN。有没有办法强制进行内容更新?我的源服务器上有一个文件,我用新版本更新了(同名,新的日期时间戳)。但是当我在cloudfront中检查它时,它仍然是旧文件。
我已经看到this thread建议使用一种方法作为无效,但我不想这样做,因为我认为这是一种开销,并且一次最多可以运行3次无效请求。我读到cloudfront支持dynamic content using query parameters,我能否以某种方式利用它来强制cloudfront从分发服务器中提取最新内容。
答案 0 :(得分:4)
第一个是你提到的显式调用invalidate()。它们确实有3个失效请求限制,但每个请求最多可包含1000个对象,在大多数情况下这些对象足够。根据文档通常需要10-15分钟,但我对此的体验相当波动(在某些情况下可能需要30分钟)。
动态参数的另一种方法绝对可行,这是一种首选方式。您需要在链接结束时附加时间戳参数。类似的东西:
http://www.example.com/img/logo.png?timestamp=123456789
更新logo.png后,请将时间戳更改为新的时间戳:
http://www.example.com/img/logo.png?timestamp=223456789
CloudFront将能够区分这两者并选择正确的。
是的,我相信你的分析是在正确的轨道上。