如果配置了request域名,小程序开发工具中接口能调通,但是真机无法调用,大大大概率就是SSL证书问题
微信官方文档关于服务器配置的要求,其中https证书要求如下:
关于证书的信任链完整问题,可以使用【https://www.landui.com/】测试域名是否存在信任链不完整。
通过测试发现确实证书信任链不完整!
解决方法:
使用证书补全工具补全证书
证书链补全工具:https://www.landui.com/chain_download.html
该工具支持输入域名和上传证书,如果使用输入域名(支持非443端口)的方式,并且您的域名使用双证书策略,修复结果就会如图所示,该工具会对双证书对进行补全(如果双证书都存在缺链的情况)。
MySSL检测工具:https://www.landui.com/
MySSL检测报告中暗含着证书链补全的功能:
只要点击下载证书链,会跳转到证书下载页面。
更新补全证书链后检测证书链完整。
如果排除了证书链问题,就看服务器的 TLS 是否支持 1.2 及以上版本
如果网上所有方法都测试完了, 还不行,就直接把 API请求地址用微信打开,看是否被拦截如:
如果发现打不开,那就是SSL的证书不支持当前手机的系统,怎么检查你的SSL证书支持哪些系统,就在:https://myssl.com/ 的检测结果一直往下拉,找到“证书兼容性测试”
如:
这种时候换一家支持更多系统的证书就可以了。 如:
这种基本就解决了。