--- title: "13.2 备案与访问问题排查" --- # 13.2 备案与访问问题排查 > **本节目标**:理解 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](/images/Advanced/image-20260302022424271.png) ::: warning 备案注意事项 - 个人备案的网站名称不能包含"公司""商城"等企业性质词汇 - 备案期间域名不能访问(部分省份要求) - 备案号需要每年年审,否则可能被注销 - 更换接入商(比如从阿里云换到腾讯云)需要做"接入备案" ::: ## 常见访问问题排查 网站上线后,你可能会遇到各种访问问题。别慌——先看错误码,再对症下药。 ### 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 配置](./01-domain-setup.md)。绑定后,任何人都可以通过你的域名正常访问。 ![image-20260302022507817](/images/Advanced/image-20260302022507817.png) ### 页面打不开(超时) **排查步骤**: 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](/images/Advanced/image-20260302022953265.png) ### 让 AI 帮你排查 遇到访问问题时,把完整的错误信息告诉 Claude Code,它可以帮你诊断。比如:"我的网站 myapp.com 国内访问返回 403,帮我排查原因",或者"我的域名配置了 CNAME 但还是打不开,帮我检查 DNS 配置"。 关键是把**错误码、域名、你做了什么操作**说清楚——信息越完整,排查越快。 --- ## 结语 域名买好了,DNS 配好了,访问问题也知道怎么排查了。小明的应用现在有了一个专业的域名,可以正式分享给全世界了。 你的项目也走到了这一步——从零开始,到现在有了完整的全栈应用、自动化部署、自定义域名。如果你想向**本教程的实践篇**投稿,欢迎联系我们。入选的项目会获得一个专属的二级域名和一定的云资源支持,让你专注于代码和创意,不再为域名和运维的琐事烦恼。 域名配好了,网站跑起来了。如果你想要更多控制权——自己的服务器、自己的规则——下一章带你买一台 VPS。 --- **上一节**:[13.1 域名购买与 DNS 配置](./01-domain-setup.md) **下一章**:[第十四章:云服务器运维与项目部署](../14-vps-ops-deploy/index.md)