水印文案从旧域名换成新品牌,源站重新生成的图已经是新文案,CDN 域名下还是旧水印,刷新浏览器十次不变。乍看像缓存或者权限的锅,追下去往往不是。
curl -s 'https://cdn.example.com/crop?id=1024&w=800&wm=v3' -o edge.jpg curl -s 'https://origin.example.com/crop?id=1024&w=800&wm=v3' -o origin.jpg cmp edge.jpg origin.jpg
追下去是这么回事:裁剪地址只带图片 ID 和尺寸,水印版本没有进缓存键,边缘认为还是同一张图。批量重生成也没有触发对应 URL 的刷新。
「水印缓存未更新」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
具体做法是,把水印版本号拼进裁剪参数,换文案就换版本;重生成后按版本前缀批量刷新边缘地址;抽查源站和边缘各一张,比对右下角文案是否一致。
验收就看一点,边缘和源站图片字节一致,右下角显示新文案。
