外观
3.3 回源设置
约 725 字
CDN接入
本页对应「三、操作步骤」的 3.3,完成回源协议、回源 Host、端口与超时的配置,确保 CDN 取到的是源站上的正确站点,并在源站异常时快速暴露问题。返回上级:CDN 接入。
前置条件
- 源站 IP
203.0.113.10已知,站点根目录为/srv/axis,且源站允许 CDN 节点访问。 - 已确认源站使用哪个 Host 提供服务;多站点部署时,Host 决定返回哪个站点。
- 3.2 的缓存规则已生效,回源失败时能排除缓存因素。
- 已确认源站支持回源所用的协议,HTTPS 回源要求源站证书本身有效。
- 已记录源站的响应时间基线,用于判断超时值设置是否合理。
操作步骤
在回源设置中填写源站地址与端口,静态站点通常使用 HTTP 80 或 HTTPS 443。
设置回源 Host。若源站按
example.com区分站点,则回源 Host 必须写example.com,不能留空或使用加速域名:
# 用与 CDN 相同的 Host 直连源站,验证源站侧行为
curl -sS -D - -o /dev/null -H "Host: example.com" "http://203.0.113.10/" | head -n 15设置连接超时与读取超时。静态站点建议连接超时 5 秒、读取超时 30 秒,避免慢请求拖住回源连接。
配置回源重试与故障转移(如有多源站),并用强制回源请求验证:
curl -sS -o /dev/null -w "%{http_code} %{time_total}\n" \
-H "Cache-Control: no-cache" \
"https://cdn.example.com/?t=$(date +%s)"结果确认
- 强制回源请求返回 200,
time_total明显低于配置的读取超时。 - CDN 返回的页面标题与源站
/srv/axis/index.html中的标题一致,说明 Host 指向正确站点。 - 在源站停掉服务后重试,CDN 返回 5xx 而非长时间挂起,说明超时配置生效。
- 回源日志中记录的 Host、端口与实际配置一致,无 404 与连接被拒记录。
注意事项
- 回源 Host 写错是“CDN 正常但内容不对”的最常见原因,配置后必须比对页面标题。
- 源站使用 HTTPS 时,回源协议要与源站监听一致,否则会出现证书或协议错误。
- 回源地址尽量使用固定 IP 或稳定的内网入口,避免源站弹性 IP 变化后回源失效。
- 修改回源参数后先清一次缓存再验证,否则取到的仍是上一次回源的旧内容,容易误判为配置未生效。
- 源站开启访问日志时,按 CDN 回源节点的地址段确认请求确实来自 CDN,而不是其他来源的直连。
- 多源站场景要明确主备判定条件,主源恢复后是否自动切回需在配置中写清,避免长期跑在备用源上。