回源:CDN 与你的服务器之间的那段路
边缘节点缓存未命中、或请求本身是动态接口时,节点会代替用户去你的源站取数据,这个过程叫回源。 回源链路的质量和源站的可用性,直接决定了"未命中时"的用户体验——而源站配置,就是控制这段链路的开关。
在 QEdgeCDN 控制台创建站点时,源站列表支持为每条源站记录设置:
- 地址与端口:IP:端口(如
203.0.113.10:443)或域名源站; - 主备角色:主源站 / 备源站;
- 权重:多个同级源站之间的流量分配比例。
主备切换:给源站买一份"保险"
配置了主备源站后,边缘节点平时只回主源站;当主源站连续回源失败(连接超时、连接拒绝等), 节点会自动切换到备源站取数据,主源站恢复后再切回来。典型用法:
| 场景 | 主源站 | 备源站 |
|---|---|---|
| 双机房容灾 | 香港机房主服务器 | 新加坡机房备用服务器 |
| 发布回滚兜底 | 新版本服务器 | 稳定旧版本服务器 |
| 静态兜底页 | 业务服务器 | 对象存储上的静态降级页 |
注意:主备切换解决的是可用性问题,切换期间仍可能有少量请求失败。 对可用性要求极高的业务,建议搭配健康检查与多活架构。
权重:让多台源站按比例分担流量
同一角色下配置多条源站记录时,权重决定回源流量的分配比例。例如两台主源站权重设为70 / 30,回源请求就会按约 7:3 分配。常见用法:
- 横向扩容:多台等配服务器设相同权重,平均分担回源压力;
- 灰度发布:新版本服务器先给 10 权重,观察无误后逐步调高;
- 配置不均的机器:性能强的机器给更高权重,物尽其用。
三个容易配错的地方
1. 回源协议与端口不匹配
源站只监听 443(HTTPS)却配置了 80 端口回源,或反之,都会导致 5xx。配置时确认源站实际监听的协议与端口, HTTPS 回源时源站证书需有效(或在平台侧选择不校验证书的回源模式,视产品支持而定)。
2. 回源 Host 不对
源站上如果配置了基于域名的虚拟主机(一台服务器挂多个站点),回源请求头里的 Host 必须是源站认识的那个域名,否则会命中默认站点或返回 4xx。通常保持"回源 Host = 加速域名"即可; 源站用别的域名对外时才需要单独指定。
3. 源站防火墙拦了回源 IP
接入 CDN 后,源站看到的访问来源全部变成边缘节点的回源 IP。如果源站防火墙按 IP 限流或只放行部分地区, 可能把正常回源当攻击拦掉。正确姿势:只放行 CDN 的回源地址段,拒绝其他一切直连—— 这同时也保护了源站 IP 不被绕过攻击。
回源每发生一次都是成本,命中率越高源站越轻松——继续阅读《缓存命中率优化实战》, 或从《接入教程》开始配置你的第一个站点。