13.2 备案与访问问题排查 转载

来源:https://github.com/datawhalechina/vibe-vibe

本节目标:理解 ICP 备案的要求,掌握免备案方案,学会诊断常见的访问错误。

小明的域名配好了,浏览器地址栏亮起了绿锁。他把新链接发到群里——这次海外的朋友秒开了。但国内的朋友反馈:"能打开,就是有点慢。"

老师傅说:"你的服务器在海外,国内访问要绕半个地球,当然慢。想快,要么把服务器搬到国内,要么用 CDN 加速——CDN 就是在离用户近的地方放一份网站副本,用户从最近的节点取,不用每次都跑到源站去。但服务器在国内有个前提——备案。"

备案是什么

备案就像开店需要营业执照。服务器在中国大陆 = 店开在国内 = 必须去工商局登记。服务器在香港或海外 = 店开在境外 = 不需要国内的营业执照。

正式的说法是 ICP 备案:中国大陆的法规要求,任何使用中国大陆服务器提供互联网信息服务的网站,都必须在工信部完成备案登记。

一句话:服务器在中国大陆 = 必须备案。服务器不在大陆 = 不需要。

备案 vs 免备案

方案 条件 优势 劣势
备案 域名实名 + 服务器在大陆 国内访问最快、完全合规 审核周期 1-3 周
免备案 服务器在境外(含港澳台) 即买即用、无审核 国内访问稍慢

免备案方案(推荐新手)

小明不想等几周的审核,老师傅给了他三个免备案方案:

方案一:部署平台选"全球(不含中国大陆)"

在 EdgeOne Pages 或阿里云 ESA 选择不含中国大陆的加速区域,然后绑定自定义域名。国内用户通过域名访问,速度虽然不如大陆节点,但完全可用。

方案二:使用 Vercel / Cloudflare Pages

这些海外平台的服务器不在中国大陆,天然免备案。绑定自定义域名后即可使用。

方案三:云服务器选香港节点

如果你买了 VPS(下一章会讲),选择中国香港机房。免备案,且国内访问延迟比美国节点低很多。

小明选了方案一——他已经部署在 EdgeOne Pages 上了,只需要确认加速区域是"全球(不含中国大陆)",绑好域名就行。国内朋友虽然慢一点,但能正常访问。等以后产品做大了,再考虑备案。

备案流程(简介)

如果你决定备案,流程大致如下:

  1. 域名实名认证:在注册商完成域名持有者实名(身份证)
  2. 选择接入商:通过云服务商(阿里云/腾讯云)提交备案申请
  3. 填写信息:网站名称、负责人信息、服务内容等
  4. 人脸核验:在手机 App 上完成人脸识别
  5. 等待审核:接入商初审(1-2 天)+ 管局终审(5-20 个工作日)
  6. 备案成功:获得 ICP 备案号,需在网站底部展示

image-20260302022424271

⚠️ 备案注意事项
  • 个人备案的网站名称不能包含"公司""商城"等企业性质词汇
  • 备案期间域名不能访问(部分省份要求)
  • 备案号需要每年年审,否则可能被注销
  • 更换接入商(比如从阿里云换到腾讯云)需要做"接入备案"

常见访问问题排查

网站上线后,你可能会遇到各种访问问题。别慌——先看错误码,再对症下药。

HTTP 状态码:快递查询式理解

状态码就像快递查询。你查快递物流,系统告诉你包裹的状态:

  • 2xx = 已签收。一切正常,包裹到手了。200 OK 是最常见的"签收成功"。
  • 3xx = 转寄中。包裹搬家了,快递员帮你送到新地址。301 是永久搬家,302 是临时转寄。
  • 4xx = 查无此人或拒收404 是地址写错了,查无此人。403 是到了门口但被拒收——你没权限。
  • 5xx = 快递站爆仓了。不是你的问题,是服务器那边出了故障。500 是代码报错,502 是中转站挂了——你的请求到了中间的转发服务器,但它联系不上后面的应用服务器。
状态码 含义 谁的问题 常见场景
2xx 成功 没问题 200 OK
3xx 重定向 正常跳转 301 永久搬家、302 临时跳转
4xx 客户端错误 你的问题 403 没权限、404 页面不存在
5xx 服务端错误 服务器的问题 500 代码报错、502 网关错误

记住:只看第一位数字,就能判断是谁的锅。

排查决策树

网站打不开?按这个流程走:

第一步:看到了什么错误?

→ 看到 403 Forbidden?往下看"403 排查"。
→ 页面一直转圈,最后 超时?往下看"超时排查"。
→ 能打开但 很慢?往下看"国内访问慢"。
→ 浏览器提示 证书错误 / 不安全?往下看"HTTPS 证书错误"。

401:UNAUTHORIZED

原因:国内平台的默认域名有访问限制(鉴权保护),只有项目所有者通过带token的链接能访问。

解决:绑定自定义域名。详见 13.1 域名购买与 DNS 配置。绑定后,任何人都可以通过你的域名正常访问。

image-20260302022507817

页面打不开(超时)

排查步骤

  1. 先确认域名解析是否生效:在终端运行 nslookup 你的域名(就是问 DNS:"这个域名你认不认识?认识的话地址是什么?")
  2. 没有返回结果?DNS 还没传播——刚配置的话等 10-30 分钟
  3. DNS 正常但还是打不开?检查部署平台的部署状态是否成功
  4. 如果用了 Cloudflare 代理,检查 SSL/TLS 模式是否设置为 "Full (strict)"

国内访问慢

原因:服务器在海外,物理距离导致延迟。

解决方案(按推荐顺序):

  1. 使用 Cloudflare CDN 加速(免费,效果明显)
  2. 切换到国内平台(EdgeOne / ESA)+ 备案
  3. 静态资源使用国内 CDN

HTTPS 证书错误

原因:证书还没签发,或者域名和证书不匹配。

解决

  • 等待平台自动签发(通常 5-15 分钟)
  • 检查域名是否正确指向了部署平台(CNAME 记录是否正确)
  • 如果用 Cloudflare 代理,确保 SSL 模式设置为 "Full (strict)",而不是 "Flexible"。Flexible 模式下,Cloudflare 到你服务器这段是明文传输——相当于信封只封了前半程,后半程敞开的。Full (strict) 才是全程密封

image-20260302022953265

让 AI 帮你排查

遇到访问问题时,把完整的错误信息告诉 Claude Code,它可以帮你诊断。比如:"我的网站 myapp.com 国内访问返回 403,帮我排查原因",或者"我的域名配置了 CNAME 但还是打不开,帮我检查 DNS 配置"。

关键是把错误码、域名、你做了什么操作说清楚——信息越完整,排查越快。

上一节13.1 域名购买与 DNS 配置

下一章第十四章:云服务器运维与项目部署

最后编辑:Alex 2026-03-05 11:39:51