CDN 回源地址切换
发布时间:2026-07-23 14:44       
更新时间:2026-07-23 23:05
用了 CDN 的站点迁移,回源地址不切,等于搬家后快递还在往旧地址送。切换的要点是先备好新源、再预热、后刷新,全程让用户无感。
第一步:新源站先备好
新服务器完整部署,用本地 hosts 把域名绑到新 IP 直接访问,确认页面、接口、静态资源全部正常。这一步不经过 CDN,先把源站本身验收掉,后面才有资格谈切换。hosts 绑定就是往 /etc/hosts 加一行:新机IP 你的域名,测完记得删,忘了删后面排查全是干扰。
第二步:切换回源配置
在 CDN 控制台把回源地址从老 IP 改成新 IP,注意三个字段:源站地址、回源 Host(一般保持访问域名不变)、回源协议。支持多源站的配置可以把新源设为主源、老源设备源,天然形成灰度,出问题还能自动兜回去。支持按比例分流的 CDN,可以先切一成流量到新源观察半小时,没异常再放量到全量。
第三步:预热与刷新
改完回源不等于完事,CDN 缓存里还是老内容。分两步处理:先对热门页面和静态资源提交 URL 预热,让节点主动从新源拉一遍;再对更新过的目录提交缓存刷新。顺序有讲究——先改回源再刷新,反过来刷出来的内容还是从老源拉的。
第四步:验证回源
看新机的访问日志里有没有 CDN 的回源请求,通常从 User-Agent 能认出来;有了,说明回源已经切过来。再用 curl -I 检查响应头里的缓存命中字段,确认节点服务正常。新机日志里取真实用户 IP 要看 X-Forwarded-For 头,回源进来后 remote_addr 已经是节点 IP,日志分析别用错字段。
常见报错两个:切换后全站 404,多半是回源 Host 没跟着改,节点拿着新 IP 却用错 Host 去请求;部分资源时有时无,是各节点缓存不一致,再做一轮目录刷新即可。
老源站保留几天再下线,给缓存彻底过期留足时间。源站、回源 Host、缓存,这三件事一个都不能漏。