业务中微信小程序的域名必须是支持https的。
这里可以申请免费的ssl证书,不过90天后失效,需要重新申请
https://www.sslforfree.com/
申请和安装方式很简单,网上资源很多,这里不做赘述。
但是微信小程序开发没问题,一到线上就会报fail ssl hand shake error错误。
查找后的结果有一下几种可能
1.没有支持https
2.不支持tls1.2及以上
3.服务器缺失跟证书
基本可以排除前两种可能,下面开始着手解决缺失跟证书的问题。
附上检测地址 https://www.myssl.cn/tools/check-server-cert.html
1.首先我们的证书如下
ca_bundle.crt
certificate.crt
private.key
这里nginx的配置没有用上ca_bundle.crt
2.生成跟证书
地址如下 https://www.myssl.cn/tools/downloadchain.html
将certificate.crt 的内容填入,生成中间证书(注意是中间证书,不是跟证书),下载之
3.编辑certifate.crt文件
内容如下
-----BEGIN CERTIFICATE-----
certificate.crt内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
ca_bundle.crt内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
刚刚下载的中间证书的内容
-----END CERTIFICATE-----
4.重启nginx。