主域名完成 ICP 备案后,把 CDN 加速域名解析到境内节点,仍然会收到备案拦截提示,问题往往出在二级域名的备案归属上。备案并不是按顶级域名一次性放行所有子域名,而是以实际接入的域名和服务器节点位置进行核查。CDN 场景下,二级域名通常以 CNAME 方式指向加速服务商提供的境内节点,如果该二级域名没有出现在备案号对应的域名列表中,或者未完成新增接入,就可能被机房和运营商判定为未备案域名。本文会从备案系统、CDN 拦截机制、操作步骤和常见误区四个部分展开。

一、备案系统按具体域名记录,主域名不会自动覆盖所有二级域名
在工业和信息化部 ICP 备案系统中,一个备案主体可以添加多个域名,但每个域名都是单独的一条记录。比如某公司在云厂商备案了 ipipp.com 和 www.ipipp.com,管局下发的备案号会对应这两个域名。如果之后再使用 cdn.ipipp.com 作为 CDN 加速域名,该二级域名并不在备案号的域名列表里。虽然从 DNS 层级上看 cdn.ipipp.com 属于 ipipp.com 的子域名,但备案核查系统并不把这种父子关系当作继承关系。
很多 CDN 服务商在添加加速域名时,会先调用管局备案接口进行校验。校验参数不是顶级域名,而是完整的 Host 头,也就是 cdn.ipipp.com。如果这个完整域名没有备案记录,控制台会直接提示该域名未备案,无法添加。即使某些 CDN 平台允许先添加,后续解析到境内节点后也会被节点的合规防火墙拦截。因此,在规划 CDN 域名时,要把需要使用的每个二级域名都纳入备案清单,而不是只备案主域名。
还有一种情况是主域名已经备案,二级域名之前也添加过备案,但后来更换了 CDN 厂商或服务器接入商。这时管局系统中的备案信息仍然存在,但接入商信息已经过期,同样会触发备案接入拦截。这个现象经常被误认为二级域名没有备案,实际上是缺少接入备案。
二、CDN 节点和源站如何触发备案拦截
CDN 的访问链路大致是:用户浏览器向本地 DNS 查询加速域名,得到一条 CNAME 记录,指向 CDN 厂商的调度域名;用户请求到达离他最近的 CDN 边缘节点;边缘节点根据请求头里的 Host 字段匹配加速域名配置;然后回源到用户自己的服务器。备案拦截通常发生在边缘节点和回源服务器两个位置。
边缘节点的合规系统会检查 Host 对应的域名是否在备案库里。如果 cdn.ipipp.com 未备案,节点可能直接返回 403 或一段备案提示页面,不再回源。用下面的命令可以直接测试节点返回的状态码:
curl -I -H "Host: cdn.ipipp.com" https://1.2.3.4 HTTP/2 403 server: CDN-Firewall content-type: text/html
上面示例中的 1.2.3.4 是 CDN 节点的任意一个 IP,实际测试时替换成自己域名解析到的节点地址。返回 403 并不意味着源站有问题,而是说明边缘防火墙已经根据 Host 拦截了请求。此时即使主域名 ipipp.com 备案正常,也无法让 cdn.ipipp.com 自动通过。
回源服务器同样存在拦截。源站如果部署在境内机房,机房防火墙也会根据 Host 头查备案库。Nginx 配置里即使写了 server_name cdn.ipipp.com,但没有完成备案,请求可能在到达 Nginx 之前就被机房拦下。有的源站会配置默认站点返回 444 或 403,导致排查时误以为是 CDN 配置错误。可以用下面的 Nginx 片段观察是否到达源站:
server {
listen 80;
server_name cdn.ipipp.com;
access_log /var/log/nginx/cdn_access.log;
location / {
return 200 "reached origin";
}
}
如果访问日志里没有请求记录,说明拦截发生在源站之前;如果有记录,则要进一步检查 CDN 回源配置和源站防火墙规则。这个定位方法能帮我们区分是 CDN 节点拦截还是源站拦截。
三、二级域名新增备案与接入备案的实操步骤
如果确定 cdn.ipipp.com 没有备案,需要走新增域名流程。登录原备案接入商的备案系统,选择变更备案或新增域名,而不是重新注册一个新备案号。同一个主体下的多个域名可以共用一个备案号,新增域名只是在原备案号下追加一条域名记录。以常见云厂商控制台为例,流程通常是:
- 进入备案管理,选择变更备案,点击新增域名;
- 填写
cdn.ipipp.com,上传域名证书或实名截图; - 确认主体信息、负责人信息与已有备案保持一致;
- 提交到管局审核,等待短信或邮件通知。
如果二级域名之前已经备案,但更换了 CDN 厂商或服务器,需要办理接入备案。接入备案不会修改原有备案号,只是把当前接入商信息更新到管局系统。很多 CDN 控制台在添加域名时会提示需要接入备案,并引导用户跳转到备案系统。完成接入后,通常需要等待 30 分钟到数小时,CDN 节点和机房防火墙的备案缓存才会刷新。
有一类特殊情况需要注意:部分省份对纯 CDN 域名的备案要求比普通网站更严格,可能要求先完成主域名的网站备案,再以新增网站的方式提交二级域名。如果 CDN 域名只用于静态资源加速,不单独建站,也建议在主体信息中备注说明用途,减少审核退回的概率。
备案审核通过后,不要立即修改域名解析,先检查 CDN 控制台的域名状态是否变成已备案。可以在本地使用 dig 命令查看 CNAME 是否已经生效:
dig cdn.ipipp.com CNAME +short abc.cdn.provider.com.
确认解析和备案状态都正常后,再逐步切换线上流量,避免因缓存不一致导致访问中断。
四、常见误区与合规注意事项
第一个常见误区是认为 CDN 服务商显示的已备案就等于管局备案。实际上 CDN 控制台的备案状态可能来自服务商自己的缓存或第三方数据,不一定与管局实时一致。最可靠的方式是到工业和信息化部 ICP 备案管理系统输入完整域名查询备案号,或者使用接入商提供的备案查询接口。如果查询结果只显示主域名,没有二级域名,就需要补办新增域名。
第二个误区是使用境外 CDN 节点就不需要备案。这个说法只对了一半。如果源站在境内,即使 CDN 节点在境外,回源请求仍然会经过境内机房,备案拦截依然存在。只有源站和 CDN 节点都部署在境外,并且不向境内用户提供服务时,才可能不触发 ICP 备案要求。但这类方案会牺牲境内访问速度,还可能面临其他合规风险。
第三个误区是主域名和二级域名解析到同一台服务器,主域名有备案就行。事实上,服务器机房的备案核查通常按域名维度进行,不按 IP 或服务器维度。只要某个域名没有备案记录,即使该服务器的其他域名已经备案,未备案域名仍会被拦截。这在多域名共用一台服务器时尤其容易踩坑。
最后要提醒的是,完成 ICP 备案后,如果网站内容涉及论坛、电商、直播等,还可能需要在公安部门办理公安备案。公安备案同样需要填写实际提供服务的域名,如果 CDN 二级域名已经对外服务,也应当一并填写,避免出现只备案主域名但二级域名未录入的情况。