3

我正在使用云前端作为 CDN。有没有办法强制更新内容?我的原始服务器上有一个文件,我已使用新版本(同名,新日期时间戳)进行了更新。但是当我在云端检查它时,它仍然是旧文件。

我已经看到这个线程建议一种方法无效,但我不想这样做,因为我认为这是一个开销,并且一次最多可以运行 3 个无效请求。我读到 cloudfront 正在使用查询参数支持动态内容,我可以利用它以某种方式强制 cloudfront 从分发服务器中提取最新内容。

4

1 回答 1

5

第一个是您提到的显式调用 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 将能够区分这两者并选择正确的一个。

所以是的,我相信你的分析是正确的。

于 2012-06-05T23:28:47.617 回答