微信合法域名配置
为什么必须配置合法域名
微信小程序出于安全限制,wx.request、wx.downloadFile 等网络 API 只能访问在小程序管理后台预先登记的域名。未配置时:
- 开发者工具中可能正常(默认勾选了跳过校验),但真机与线上版直接报错;
- 用户端表现为「解析失败」或保存时提示「域名不合法」,视频无法下载。
域名与证书要求
- 必须经过 ICP 备案,且备案主体与小程序主体建议一致;
- 必须 HTTPS(TLS 1.2+),证书链完整、未过期;
- 只支持 443 默认端口,不支持 IP 地址、localhost、非标准端口;
- 域名每个月可修改 50 次,支持添加多个。
去水印系统需要配置哪些域名
| 域名类别 | 填什么 | 用途 |
|---|---|---|
| request 合法域名 | 你的后端域名,如 https://api.example.com | 登录(getToken)、解析(jieXi)、会员、虚拟支付等全部接口调用 |
| downloadFile 合法域名 | 后端域名 + 解析返回的视频/图片源站域名 | 小程序内直接下载无水印视频、图集到相册 |
关键:无水印视频的实际地址位于第三方平台的 CDN 上,并不在你的后端域名下。若 downloadFile 合法域名中没有视频源域名,小程序内保存会提示「域名不合法」。此时用户可点击【复制链接】到手机浏览器下载(本小程序已内置该兜底方案);如需小程序内直接保存,需把视频源域名加入 downloadFile 白名单。
如何找到视频源域名
- 在小程序中解析一条视频,复制解析后的无水印链接;
- 查看链接中
https://之后、第一个/之前的部分,即为源站域名,例如https://v3.douyinvod.com/...的域名是v3-douyinvod.com所在域; - 不同平台、不同资源可能有多个 CDN 域名,建议每个平台各解析几条,把出现的域名按根域名或实际域名逐个加入;
- 微信要求域名精确匹配登记值,CDN 子域较多时需要把用到的子域都加进去。
源 CDN 域名可能随平台调整而变化,日常运营中发现新作品保存报「域名不合法」时,按上述方法补登记即可;补登记后一般几分钟内生效,无需重新发版。
配置步骤(图文说明)
- 登录 微信公众平台,进入对应小程序;
- 左侧菜单进入「开发管理 → 开发设置」;
- 找到「服务器域名」一栏,点击【修改】(需管理员扫码验证);
- 分别在 request 合法域名、downloadFile 合法域名 中点击「+」添加域名,每行一个,不带路径;
- 保存后等待数分钟生效,重新打开小程序真机预览验证。
开发阶段临时跳过校验
本地开发调试时,可在微信开发者工具右上角「详情 → 本地设置」中勾选「不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书」。该设置仅对开发者工具生效,真机预览与线上版仍以管理后台配置为准,上线前务必完成正式配置。
常见报错排查
| 报错现象 | 原因与处理 |
|---|---|
| request:fail url not in domain list | 后端域名未加入 request 合法域名,或小程序编译产物中的接口域名仍为 http / 带端口 / 与登记不一致 |
| downloadFile:fail 域名不合法 | 视频源 CDN 域名未加入 downloadFile 合法域名,按上文方法补登记,或引导用户复制链接到浏览器下载 |
| 证书相关报错(SSL hand shake error) | 证书链不完整或过期,在宝塔 SSL 中重新签发并部署完整链证书 |
| 开发工具正常、真机失败 | 开发工具勾选了跳过校验,真机不生效,请以服务器域名配置为准 |
更多用户端问题见 常见问题。