现象
在阿里云部署的api接口服务给小程序调用,Api接口已配置Lets Encrypt生成的证书。
微信开发者工具中访问https的api接口正常。(开发者工具打开了【不校验合法域名、web-view以及HTTPS证书】)
微信开发者工具通过真机调试和体验版访问,api接口均报"request:fail -2:net::ERR_FAILED"错误。
chrome浏览器直接访问api接口,显示证书可信。
原因排查
Chrome浏览器能正常访问api接口,排除上面红框的前三个可能原因。关于证书的信任链完整问题,可以去【https://myssl.com/】测试域名是否存在信任链不完整。
确实是因为信任链不完整!
解决方案
可以按上面报告给出的解决方法链接操作:https://blog.myssl.com/faq-miss-ca-certificate/
在证书补全工具里面,直接输入域名,点击获取证书链:https://myssl.com/chain_download.html
阿里云Api网关上补充完整证书链:
在Apache上部署证书链:https://help.aliyun.com/knowledge_detail/42215.html