几分钟就定位:缺的是配置,不是代码。关调试复测,全部通过。
微信小程序 · 账号与数据
服务器域名白名单Server Domain Allowlist
小程序只能请求后台登记过的服务器域名,而且必须是 https / wss + 已备案域名,不能用 IP 或 localhost;开发者工具和调试模式会跳过校验,所以要在真机关调试时验收。
开发者工具里全绿,手机上全红:把 5 个请求修到真机能用
上面切运行环境,中间是请求列表,下面是小程序管理后台的服务器域名配置。失败行的「怎么修」会告诉你是地址本身不合规,还是只差加进白名单。
任务:花店小程序在开发者工具里一切正常,扫码到手机上就请求失败。让 5 个请求在真机、关闭调试时全部通过。
- request登录✓ 200 · 没校验域名
http://localhost:3000/api/login - upload上传头像✓ 200 · 没校验域名
http://47.98.x.x/upload - request订单列表✓ 200 · 没校验域名
https://api.flower.cn/orders - download下载海报✓ 200 · 没校验域名
https://img.newcdn.io/a.png - socket客服聊天✓ 200 · 没校验域名
wss://chat.flower.cn
(空)
(空)
(空)
(空)
- ✓开发者工具(不校验):全绿
- 2真机关调试:一片红
- 3真机开调试:又变绿(假象)
- 4配好白名单:关调试也全绿
第 1 步:现在是开发者工具、勾着「不校验合法域名」。看请求列表,然后切到「真机预览」。
知识点:面板上刚看到的几件事
只做命名,不再重复操作。
- 白名单机制:小程序只能请求后台「服务器域名」里登记过的域名,request、上传、下载、socket 各有一栏,分开配。
- 协议:request / 上传 / 下载只收 https,socket 只收 wss;http 加不进去。
- 必须是已 ICP 备案的域名;不能填 IP,也不能填 localhost。
- 「本地能用」的假象:开发者工具可以勾「不校验合法域名」,真机打开调试模式也会放行;关掉调试才是用户看到的样子。
- 开调试能用、关调试不行:先查域名有没有配进白名单,而不是让 AI 改业务代码。
什么时候要查白名单
症状几乎都是「换个环境就坏」。
- 开发者工具正常,扫码真机或体验版请求失败、图片下载不了、聊天连不上。
- AI 新接了一个第三方服务(地图、图片 CDN、外部接口):它的域名也要进白名单,还得已备案。
- 不适用:真机关调试也全绿但数据不对,那是接口本身的问题,不是白名单。
怎么跟 AI 说、怎么验收
让 AI 交出一张域名清单,你去后台对着配。
- 让 AI 列清单:「列出小程序里所有 request / 上传 / 下载 / socket 用到的域名,标明协议,不能有 IP 和 localhost」。
- 开发阶段就在开发者工具里取消「不校验合法域名」,问题会提前暴露。
- 验收:真机预览或体验版里关掉调试模式,把每个用到网络的功能点一遍。
正反例:手机上「请求失败」
同一个症状,只差在先查哪里。
AI 改了一圈代码,你在调试模式下看着「好了」;发给用户后照样失败。
快速自测
AI 说接口已经部署好了,地址是 http://119.29.x.x:8080/api。你要把它配进 request 合法域名,下一步是?
继续查证
术语的技术定义和行为以这些一手或权威资料为准。
下一步学
和本知识点经常一起出现的概念。