微信小程序现在比较火,我使用springboot作为微信小程序的后台,部署的时候发现了这样一个问题,使用苹果手机访问可以正常访问,但是使用安卓手机访问就无法正常访问了。如果也有遇到类似问题的朋友,可以参考的这个帖子试着查找问题。
根据我们遇到的问题(使用苹果手机访问可以正常访问,但是使用安卓手机访问就无法正常访问)我们可以判断问题不是处在代码上,也就是说是我们配置的问题,因为苹果手机可以正常访问。
微信支持,且只支持ssl_protocols TLSv1.2及以上版本;所以,你需要把SSL V2,SSL V3这些协议都删掉
在springboot后台配置:
[Java] 纯文本查看 复制代码 server.ssl.enabled-protocols=TLSv1,TLSv1.1,TLSv1.2
配置这行代码 就可以实现支持ssl_protocols TLSv1.2及以上版本
还需禁用SSL V2,SSL V3
[Java] 纯文本查看 复制代码 server.ssl.ciphers=TLS_ECDHE_RSA_WITAES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA
需要加上这行代码
如此就可以实现,支持ssl_protocols TLSv1.2禁用SSL V2,SSL V3。
这之后需要也是最多人出差错的地方就是证书配置不正确。
如何检测呢?这里给大家一个网站:SSL服务器证书安装检查器
用它就可以检测出我们的ssl是否安装正确。
如果都正常那么就说明你的ssl安装正确。
如果出现了异常,我这里出现了中间证书读取失败。所以需要修改我的证书文件,重新合成一个新的证书文件。
网上资料对于如何合成并没有详细介绍,我是这样做的:
首先使用证书分析工具,这个也是在刚刚说的网站:证书分析
输入你的证书 CRT文件,就可以导出两份文件:中间证书文件,和根证书文件。
我们需要把 你的CTR证书文件 中间证书文件 根证书文件 这三个文件合成一个证书文件再把这个文件放到你的服务器上就不会出现上述问题了。
添加完成之后我们要把这个证书合成
刚刚的网站有很多种类型文件的合成,选择其中你想要的
然后 把刚刚合成的证书文件粘贴过去,
下面要输入key文件,这个文件在你申请证书的时候是有的。
我用的腾讯云申请的证书在
把key文件也用记事本打开复制里面的内容
最后自定义一个密码就实现了证书的整合。
在服务器上配置下证书的路径和刚刚自定义的密码就可以了。
以上就是如何正确的配置证书。
|