主站换新 logo 上线两天,博客子域 blog.example.com 页头还是旧版,两边引用的是同一个 CDN 路径,返回的文件却不一样。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
curl -s https://cdn.example.com/logo.png | md5sum curl -s https://blog.example.com/img/logo.png | md5sum
子域各自配了独立 CDN 和缓存策略,主站发布只刷了主域,子域缓存没动。构建产物也是各打各的包,旧图还留在子域目录里。这一点先确认清楚,后面就不用反复试。
碰到「子域图标同步」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
具体做法是,图标统一走一个 CDN 域名 所有子域引用同一份;发布流程里把刷新 CDN 做成一步 覆盖所有域名;子域构建改成拉主站的品牌资源 不要各拷一份;从两个域名分别 curl 对比文件 hash。
改完照着核一遍,两个子域返回的文件 md5 一致 页头图标显示新版本。
