开开心心在电脑端开发完微信小程序的功能,电脑端测试完全没问题,结果一上手机,无法获取内容,调试发现wx.request返回request:fail -2:net::ERR_FAILED错误。
查阅好多网上的解决方法,什么在基本设置中把不校验合法域名的勾勾上啊,什么传参设置要怎么怎么啊,全部不行。后来通过测试ssl合法性(连接SSL服务器证书安装检查器_OPENSSL工具包_迅通诚信)发现,错误: 服务器缺少中间证书
我是用腾讯云免费ssl通过nginx环境部署的。腾讯云免费生成的ssl下载下来的CRT是不带中间证书的。所以我们要人为给CRT添加中间证书。
方法如下:
腾讯云生成的ssl下载下来nginx部署部分有以下两个文件:
1_*******_bundle.crt
2_********.key
打开1_*******_bundle.crt文件,我们可以看到
腾讯云已经把服务证书和CA证书合并在一起了,但是缺少中间证书。
下面教大家如何生成中间证书,打开下面连接,把服务证书填入输入框,然后生成中间证书。
https://www.myssl.cn/tools/downloadchain.html
把生成的中间证书拷贝进 1_*******_bundle.crt 文件最后。然后用最后的文件上传布局nginx的环境。再次测试后就会发现中间证书就可以用了。
最后回到微信小程序,手机测试就会发现一切都正常了。