← 返回笔记列表
2026-08-30 · 微信生态

小程序上线前:域名、备案与主体一致性

代码写完只是开始。小程序真正卡住进度的地方,往往是一条"域名不合法"的报错,而它背后是一整套备案规则。

一、先弄清楚三个不同的东西

很多人把这三件事混成一件事,然后卡在里面出不来:

名称是什么作用范围
ICP 备案网站/域名在管局的登记域名能否在国内服务器上提供访问
小程序备案小程序本身在管局的登记小程序能否上架发布
request 合法域名小程序后台配置的服务器白名单小程序能否调用这个域名

三件事各自独立,但有一条把它们串起来:配进 request 合法域名的域名,必须是已完成 ICP 备案的域名,而且备案主体最好和小程序主体一致。

二、"备案主体一致"这件事有多硬

实测下来,这条比想象中硬。个人备案的域名,挂到企业主体的小程序里,在部分校验路径上会被直接拒绝;即使配置时没拦住,后续审核或抽查也会提出来。

反过来,企业备案的域名给个人小程序用,同样别扭。所以正确的顺序是:

  1. 确定小程序的主体类型(个人 / 企业)。
  2. 用同一主体的名义完成域名 ICP 备案。
  3. 把域名配进 request 合法域名。
备案主体不能"变更"。个人备案想转成企业备案,只能注销后重新备案,注销期间域名不可访问。这一条对项目排期的影响,比审核时长本身大得多。

三、几个常见的误判

误判一:用 IP 地址

request 合法域名只接受域名,不接受 IP,也不接受带路径的 URL。这是硬性的,绕不过去。

误判二:用未备案的域名试一下

配置时可能保存成功,但真机请求会失败。而且这类失败在开发者工具里勾上"不校验合法域名"就看不出来,很容易误判为"已经通了"。

误判三:以为体验版可以免掉域名校验

体验版免的是提交审核和小程序备案,不免域名校验。真机上跑的体验版,依然要求域名已备案、已配置。只有开发者工具里的"跳过域名校验"选项能绕过,而那个选项在真机上不存在。

误判四:换个非标端口就能用

域名是允许带端口的,配置里写 https://example.com:8443 是合法的。但这只解决了"端口能不能连",解决不了"域名有没有备案",两件事别混。

四、换服务器要不要重新备案

这是被问得最多的一个问题。实际情况取决于接入商是否变化:

场景要做什么
同一服务商内换服务器一般无需重新备案,改解析即可
换到另一个服务商需要办理"接入备案",把备案接入到新服务商
换主体(个人 → 企业)不能变更,只能注销重备

接入备案的前置条件里有一条容易被忽略:服务器必须是包年包月、且剩余时长满足要求。按量付费或试用机不能用于备案,这是最常见的一种"提交了但过不了"。

五、上线前我自己的检查清单

六、一句经验

技术问题通常当天能解,备案问题按周计。所以排期的时候,把备案当成和开发并行的第一条主线,而不是上线前的一道手续。

最容易吃亏的做法是:等代码写完再去办备案,然后发现主体不对,要么等,要么推翻重来。