6.1 KiB
6.1 KiB
小程序域名配置问题解决方案
问题时间: 2025年1月28日
问题描述: 取消"不校验合法域名"后,小程序无法访问接口
一、问题诊断
错误信息
request 合法域名校验出错
https://www.ruilaizipj.com 不在以下 request 合法域名列表中
允许的域名列表:
https://mp.weixin.qq.comhttps://ruilaizipj.com(不带www)https://tcb-api.tencentcloudapi.com
根本原因
- 代码使用的域名:
https://www.ruilaizipj.com/(带www) - 白名单中的域名:
https://ruilaizipj.com(不带www) - 域名不匹配:微信小程序严格校验域名,必须完全一致
二、解决方案
方案一:在微信小程序后台添加带www的域名(推荐)⭐
操作步骤:
-
登录微信公众平台
- 访问:https://mp.weixin.qq.com
- 登录您的小程序账号
-
进入开发设置
- 左侧菜单:开发 → 开发管理 → 开发设置
- 找到 "服务器域名" 部分
-
添加域名
- 点击 "修改" 按钮
- 在 "request合法域名" 中添加:
https://www.ruilaizipj.com - 同时检查 "uploadFile合法域名" 和 "downloadFile合法域名",也添加:
https://www.ruilaizipj.com - 点击 "保存" 或 "提交"
-
重新编译小程序
- 在微信开发者工具中重新编译
- 清除缓存后测试
优点:
- ✅ 不需要修改代码
- ✅ 使用带www的域名更规范
- ✅ 证书已配置好,直接可用
方案二:修改代码使用不带www的域名
操作步骤:
-
修改小程序代码
- 打开
app.js - 将
globalData.url改为:url: 'https://ruilaizipj.com/'
- 打开
-
配置根域名SSL证书
- 需要为
ruilaizipj.com申请SSL证书 - 或在现有证书中添加根域名(SAN扩展)
- 需要为
-
修改Nginx配置
- 在
server_name中添加ruilaizipj.com - 确保证书支持根域名
- 在
缺点:
- ❌ 需要修改代码
- ❌ 需要重新申请/配置SSL证书
- ❌ 根域名证书配置较复杂
三、当前服务器配置状态
SSL证书状态
- 证书域名:
www.ruilaizipj.com✅ - 根域名支持:
ruilaizipj.com❌(证书不包含) - 证书有效期: 2026-01-28 至 2026-04-28 ✅
Nginx配置状态
- server_name:
www.ruilaizipj.com 101.43.95.130(已添加ruilaizipj.com) - SSL证书路径:
/www/server/panel/vhost/cert/101.43.95.130/ - HTTPS访问:
www.ruilaizipj.com✅ 正常
域名访问测试
https://www.ruilaizipj.com✅ 正常(200 OK)https://ruilaizipj.com❌ 证书不匹配(需要配置根域名证书)
四、推荐操作
立即执行(方案一)
-
在微信小程序后台添加域名:
https://www.ruilaizipj.com添加到以下列表:
- request合法域名
- uploadFile合法域名
- downloadFile合法域名
-
保存配置
-
在微信开发者工具中:
- 清除缓存
- 重新编译
- 测试接口访问
如果方案一不行,再考虑方案二
如果添加域名后仍有问题,可以:
- 申请包含根域名的SSL证书(或使用通配符证书)
- 修改代码使用根域名
- 配置Nginx支持根域名
五、注意事项
1. 域名必须完全一致
- ✅ 正确:
https://www.ruilaizipj.com - ❌ 错误:
https://www.ruilaizipj.com/(末尾有斜杠,但通常不影响) - ❌ 错误:
http://www.ruilaizipj.com(必须是HTTPS)
2. 白名单修改限制
- 每月可修改次数有限(您当前还可修改49次)
- 修改后需要保存并重新编译小程序
3. 开发环境 vs 生产环境
- 开发环境:可以勾选"不校验合法域名"进行调试
- 生产环境:必须配置白名单,否则无法访问
4. 证书要求
- 必须是HTTPS(HTTP不支持)
- 证书必须有效且未过期
- 证书域名必须与请求域名匹配
六、验证步骤
1. 检查白名单配置
在微信小程序后台确认:
- ✅
https://www.ruilaizipj.com已在 request合法域名 列表中 - ✅
https://www.ruilaizipj.com已在 uploadFile合法域名 列表中 - ✅
https://www.ruilaizipj.com已在 downloadFile合法域名 列表中
2. 检查代码配置
在 app.js 中确认:
globalData: {
url: 'https://www.ruilaizipj.com/' // 与白名单域名一致
}
3. 测试访问
在微信开发者工具中:
- 取消勾选"不校验合法域名"
- 清除缓存
- 重新编译
- 测试接口调用
- 查看Console是否有错误
七、常见问题
Q1: 添加域名后仍然报错?
可能原因:
- 白名单未保存
- 小程序未重新编译
- 缓存未清除
解决方法:
- 确认白名单已保存
- 在开发者工具中清除缓存
- 重新编译小程序
Q2: 为什么需要两个域名都加?
原因:
- 如果代码中可能使用不同的域名
- 或者有重定向情况
- 为了确保兼容性
建议:
- 统一使用一个域名(推荐
www.ruilaizipj.com) - 在代码和白名单中都使用相同的域名
Q3: 证书不匹配怎么办?
如果使用根域名 ruilaizipj.com:
- 申请包含根域名的证书(或通配符证书
*.ruilaizipj.com) - 在Nginx中配置根域名的SSL证书
- 确保证书的SAN包含
ruilaizipj.com
八、总结
问题根源
代码使用的域名与白名单域名不一致:
- 代码:
https://www.ruilaizipj.com/(带www) - 白名单:
https://ruilaizipj.com(不带www)
推荐解决方案
在微信小程序后台添加 https://www.ruilaizipj.com 到白名单
操作步骤
- 登录微信公众平台
- 进入开发设置 → 服务器域名
- 添加
https://www.ruilaizipj.com到所有相关域名列表 - 保存配置
- 重新编译小程序
创建时间: 2025年1月28日
问题状态: 待解决 - 需要在微信小程序后台添加域名