SCDN 完整接入与排错
从源站准备、DNS 与证书到缓存、API 例外和故障回退,按可验证的步骤完成 SCDN 接入。
本文目录
首次接入先完成一个低风险域名的验证,再逐批迁移。使用文中命令时,将示例值替换为您的实际配置。控制台入口为 SCDN 控制台。
接入前准备
准备能够修改 DNS 的域名账号、可用的 SCDN 套餐、源站管理权限和证书资料。账号实名、线路适用条件及费用先查看 购买前提与计费说明。
| 需要记录的实际值 | 从哪里核对 | 接入通过条件 |
|---|---|---|
| 域名、套餐和线路 | 当前网站配置与已购买套餐 | 域名额度、功能和线路符合本次业务需求 |
| 源站 IP 或独立源站域名 | 服务器或云平台的实例信息 | 地址真实可用;独立源站域名不会解析回本次 CDN |
| 回源协议、端口 | 源站监听配置与 SCDN 网站配置 | 两端一致,防火墙允许相应回源连接 |
| 回源 Host、HTTPS SNI | 源站虚拟主机、证书与实际回源配置 | 请求到达正确站点,TLS 握手使用正确名称 |
| 访问域名证书 | 证书详情与实际 HTTPS 连接 | 覆盖完整访问域名,未过期,证书链完整 |
| CNAME 目标、旧解析和 TTL | SCDN 分配结果与 DNS 服务商记录 | 每个域名都有记录,能够恢复之前的访问路径 |
| 登录、API、回调和 WebSocket 路径 | 业务路由与接口文档 | 明确哪些不能缓存、不能接受浏览器挑战 |
国内加速、海外优化和亚太优化线路目前均从标准版起包含 WAF,从基础版起支持 WebSocket;个人版不支持这两项,基础版不支持 WAF。具体配置查看 SCDN 套餐表 和实际订单。
第一步:核对源站与回源
先确认源站可以处理真实业务请求,再配置 CDN。浏览器直接访问 IP 成功,只能说明那一次访问成功,不能证明所有 CDN 节点都能连接到正确站点。
| 项目 | 核对方法 | 常见修正 |
|---|---|---|
| 源地址 | 与源站实例地址、域名解析结果逐一比对 | 使用真实源站地址,排除源站域名再次指向 CDN 形成循环 |
| 协议与端口 | 查源站 Web 服务实际监听的协议和端口 | 源站只监听 HTTP 时不能配置 HTTPS 回源;非标准端口先确认套餐支持 |
| 网络放行 | 查安全组、防火墙和源站访问日志 | 向技术支持确认当前回源 IP 范围,按需要放行指定端口并维护更新 |
| 回源 Host | 查源站虚拟主机绑定的域名、访问日志中的 Host | 确保请求匹配业务站点,而非默认站点 |
| HTTPS SNI | 查源站证书名称与 TLS 虚拟主机配置 | 核对 CDN 实际发送的 SNI、源站证书和回源校验要求 |
| 多源站 | 逐台检查相同 URL 与业务版本 | 确认每台源站健康,避免请求偶尔落到错误实例 |
Host 是 HTTP 请求中的站点名称,SNI 是 TLS 握手阶段使用的服务器名称;把源地址改成 IP,并不等于这两个值也应改成 IP。若控制台没有显示独立 SNI 或回源 Host 设置,请提供源站域名与证书信息给技术支持确认实际行为,不要猜测默认值。
接入初期优先检查回源端口、Host、协议和源站证书;遇到 504 应结合日志判断,不应仅凭状态码认定是攻击或节点故障。接入初期 504 排查经验
用真实域名测试源站
以下命令在 Windows 终端中运行。www.example.com 和 192.0.2.10 是示例域名与保留测试地址,请替换;Linux/macOS 可将 curl.exe 改为 curl、NUL 改为 /dev/null。
curl.exe --resolve www.example.com:80:192.0.2.10 -sS -D - -o NUL http://www.example.com/
curl.exe --resolve www.example.com:443:192.0.2.10 -sS -D - -o NUL https://www.example.com/
这两条命令只在本次请求中指定连接地址,不修改 DNS;HTTPS 示例保留访问域名对应的 Host、SNI 和证书校验。不要用忽略证书错误的结果作为上线验收依据。若实际回源使用不同的 Host、SNI 或端口,应按那组实际值测试;必要时请技术支持从 CDN 侧发起检查。源站只允许 CDN 回源地址时,本机测试可能被拒绝,应使用受控的诊断入口。
第二步:分别检查两段 HTTPS
访客到 CDN、CDN 到源站是两段连接,分别核对:
- 访客到 CDN:访问域名已绑定正确证书,证书覆盖域名,私钥匹配且证书链完整。根域名与子域名分别检查,不能只测其中一个。
- CDN 到源站:按源站实际支持的 HTTP 或 HTTPS 配置回源。HTTPS 回源还需核对源站证书、SNI 与平台的校验要求。
- HTTPS 跳转:确认 CDN 与源站的跳转策略不会互相冲突。源站需要获知原始访问协议时,使用平台实际传递且源站可信任的协议头,先测试再启用跳转。
- 续期责任:记录边缘证书和源站证书的到期日、更新负责人及部署位置。控制台有证书不代表源站已同步更新。
若出现反复跳转,检查每次响应的 Location,确认哪个环节把请求切回 HTTP 或另一个域名。先恢复最近修改的跳转配置,再逐项定位。证书接入另见 SSL 接入概览。
第三步:配置缓存和业务例外
先区分公共静态资源与个性化响应,再设置缓存范围和时间。
| 业务类型 | 建议处理 | 必须验证 |
|---|---|---|
| 带版本号的公开 CSS、JS、图片 | 按资源更新频率设置缓存 | 重复请求内容正确,发布新版本能获得新资源 |
| 登录、用户中心、订单、购物车 | 明确排除公共缓存 | 两个测试账号互不串数据,退出登录后状态正确 |
| 带 Cookie 或 Authorization 的接口 | 按鉴权与业务设计明确缓存例外 | 未登录、已登录、不同权限返回各自正确结果 |
| 支付通知、Webhook、机器调用 API | 排除不兼容的浏览器挑战,保留必要鉴权与防护 | 用实际客户端验证方法、请求体、签名和返回值 |
| WebSocket | 确认套餐、代理支持与连接超时 | 使用真实客户端检查握手、消息收发与重连 |
不要假定所有带 Cookie、Authorization 或 Set-Cookie 的响应都已自动排除缓存。核对控制台规则优先级、源站 Cache-Control 和实际命中结果;对敏感响应可在源站使用适当的 private、no-store 策略,并确认 CDN 未覆盖这些限制。
API 和回调一般无法执行 JS 验证或交互验证码。例外应限制到必要路径、方法或可信来源,并保留业务签名、鉴权和必要的限速。不要仅凭接口返回 200 判定成功,还要检查返回内容是不是挑战页面。文件类型参考 常用缓存文件后缀。
第四步:切换 DNS
- 保存每个域名当前的 A、AAAA、CNAME 记录、TTL 和原访问路径,确认有可用的回退目标。
- 从当前 SCDN 网站配置复制该域名实际分配的 CNAME,不自行拼接,也不把其他网站的目标直接套用。
- 在 DNS 服务商处按接入要求修改对应记录。检查同名 A、AAAA 与 CNAME 的冲突及遗留 IPv6 解析;根域名是否支持别名解析,以 DNS 服务商能力为准。
- 先切一个域名,在不同网络与递归 DNS 上复查,再逐批切换。调整 TTL 后,已有旧缓存仍需等待原 TTL 到期。
nslookup -type=CNAME www.example.com
nslookup www.example.com
若 DNS 服务商采用根域名别名或 CNAME 扁平化,查询可能直接返回地址,应结合服务商记录与 CDN 实际分配结果判断。确认 DNS 后,再访问业务页面、检查响应与源站日志;仅查到 CNAME 不能证明业务已经正常。
批量接入时,分批验证并观察源站承载情况,给 DNS 缓存传播留出时间。逐域名记录检查结果,从主要访问地区完成验收。批量域名接入经验
第五步:完成上线验收
| 验收项 | 通过标准 |
|---|---|
| DNS 与 HTTPS | 多个网络访问预期路径,证书域名、有效期和链均正确 |
| 首页与静态资源 | 页面与资源完整,没有错误跳转、混合内容或旧版本残留 |
| 登录与权限 | 登录、刷新、退出正常,不同测试账号数据隔离 |
| 表单与 API | 使用真实方法和请求体完成操作,返回业务预期结果 |
| 回调与长连接 | 在测试环境或可控流程完成回调;WebSocket 收发和重连正常 |
| 源站与防护 | 错误率、耗时、CPU、带宽和连接数无异常增长,业务请求无误拦截 |
上线初期保留变更时间、测试域名、结果和操作人。确认一批稳定后再继续下一批;出现异常先停止扩大变更范围。
常见错误与排查顺序
错误可能由源站、CDN 或链路中的其他代理返回,应使用发生时间、请求标识和两侧日志定位实际返回方。
| 现象 | 先核对 | 下一步 |
|---|---|---|
| DNS 无结果或仍到旧站 | DNS 记录、域名状态、TTL、A/AAAA 与 CNAME | 比对权威记录和不同网络查询结果 |
| TLS 握手失败、证书告警 | 当前连接的域名、证书链、有效期、SNI | 分别检查边缘与源站 TLS,修复后重新测试 |
| 301/302 循环 | Location、强制 HTTPS、源站跳转和原始协议识别 |
恢复冲突规则,逐层验证一次正常跳转 |
| 401/403 | 登录凭据、源站权限、防盗链与防护日志 | 区分业务拒绝和防护拦截,再调整最小范围规则 |
| 404 | 请求路径、Host、虚拟主机及发布版本 | 用相同 Host 和路径直接验证源站 |
| 429 | 源站或 CDN 的限速策略、重试行为 | 确认限制来自哪一侧,按实际业务调整 |
| 502 | 上游连接、协议、TLS、源站异常响应 | 对比源站错误日志与 CDN 请求记录 |
| 503 | 源站服务、维护状态、可用后端及资源使用 | 恢复健康实例或处理资源瓶颈 |
| 504 | 回源网络、端口、Host、响应时间 | 检查安全组、应用耗时、数据库与连接数,再查链路和节点 |
持续 502/504 时,将故障时间段的源站资源、数据库连接和回源记录一起检查;不要只修改超时参数。再根据排查结果调整缓存或多源站配置。502/504 排障与优化指南
回退步骤
出现关键流程失败、误缓存或持续错误时,先记录故障与当前配置,再按已准备的方案恢复。
**若个性化内容被误缓存,先立即停止相关缓存并清理已缓存内容,核查影响范围;必要时联系技术支持阻止继续泄漏。不要等待 DNS 回退生效后再处理。**下面的常规回退步骤不能替代这项处理。
- 定位最近变更:若问题来自刚修改的缓存、防护或跳转规则,先恢复该项原值并验证。
- 确认回退目标可用:重新验证原服务的域名、HTTPS、容量与防护路径。原方案依赖其他代理时,应恢复那条完整路径。
- 恢复 DNS:确需退出本次 CDN 接入时,恢复事先保存的解析记录与 TTL。DNS 回退并非即时生效,过渡期间两条路径都可能有请求。
- 保留过渡服务:在各地缓存更新并确认请求稳定前,保留当前 CDN 网站和证书配置,不要提前删除仍可能承接请求的服务。
- 复核与记录:确认各路径已恢复、缓存问题已处理,再保存原因、修正项与再次接入条件。
原方案为直接访问源站时,恢复直连也会恢复源站暴露与原有承载压力。请采用接入前确认的可用路径,必要时先联系技术支持协助恢复。
联系技术支持
- 产品、套餐、问题域名和源站协议、端口。
- 发生时间与时区、影响地区或运营商、错误码及可复现的路径。
- 本次变更内容、DNS 查询结果、直连与经过 CDN 的测试差异。
- 脱敏后的请求标识、响应头、源站访问与错误日志;如提供截图,请使用当前实际界面并遮盖敏感信息。
不要提交账号密码、证书私钥、完整 Cookie、Authorization 或接口密钥。Host/SNI 默认行为、回源 IP 清单、超时和功能开关未在当前配置中明确显示时,请随工单一起确认。
