curl -I https://example.com/page/
curl -I --resolve example.com:443:源站IP https://example.com/page/
# 对比 Age 和 Last-Modified

页面在 Elementor 里改了 banner,源站直接访问是新图,走 CDN 域名还是三天前的旧图,刷新十次都一样,移动端和桌面端都中招。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:CDN 缓存键只按 URL 算,没有带 HTML 的更新时间,缓存 TTL 设了 7 天,构建器保存不会主动推刷新。源站虽然返回了新的 Last-Modified,边缘节点没有回源校验。

「构建器页面缓存不更新」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。同一份配置存在多处的,先确认改的是被加载的那一份。

新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。

处理上按这个顺序:先对比源站 IP 和 CDN 域名的响应头,确认差异在边缘;把 HTML 的缓存 TTL 降到 10 分钟,或对动态页直接 bypass;保存页面后调用 CDN 刷新接口,把该 URL 推一遍。

确认没问题再收工,CDN 域名返回的 Last-Modified 与源站一致,刷新后立即看到新 banner。

作者 9823189