现象
团队开发微信小程序,发布测试版只有我自己手机能正常接收后端发来的消息。其他成员在微信开发工具上可正常接收数据,但在移动端上不行。
环境
- 微信开发工具
我默认设置了 “开发环境不校验请求域名以及 TLS 版本” - 微信公众管理平台
添加了 request合法域名:https://xxxxxx.com 以及其他合法域名 - 内部程序 api
添加的api 都是以一个baseUrl 打头,baseUrl 为 https://www.xxxxxx.com
解决办法和原因解释
- 后端域名已经是https的安全域名,可排除非合法域名的原因。
- 报错提示说请求的url不在域名列表里,可是管理界面合法域名已经添加后还是不行,而且我检索得知合法域名的修改应该是立即生效。
- 在域名管理后台,域名解析时,有两个A记录:www.xxx.cn 指向网站IP,xxx.com 也指向网站IP
- 浏览器访问www.xxx.com 和xxx.com 都可以正常打开后端测试api
- 但是这在微信小程序中,这两个不同的api 只将没有www. 前缀的添加到了合法域名列表,所以在通过 https://www.xxxx.com 访问时,提示 fail url not in domain list.