微信小程序开发之SSL证书相关问题

最重要的放最上面:阿里云CDN 使用的是 Nginx (.crt为证书,.key为私钥)

阿里云证书格式说明地址
ssl证书其实本站有很多相关的文章,但是没有针对ssl证书做过专门的说明,最近发现,还是有很多同学,困扰在这个地方;所以特整理一些有用的知识放在这里。

如何认定自己有证书问题:

开发工具内–项目内–开启不检验域名
可以获取数据
关闭则不可以获取数据
在这时,可以查看报错信息,其中包含证书、tls版本等出错的信息,以此来判断自己是哪方面的问题

这里写图片描述

目前发现的可能由ssl证书问题导致的问题:

##

1:上传:无法上传upload

2:登录:无法登录

3:打开文件:使用打开文件的api(wx.openDocument)无法打开文件,已经确认使用打开文件的api时,使用网络地址的文件地址时必须使用符合规范的https;

4:请求网络:使用request无法请求网络;

可能出现的相关错误:
errMsg: “request: fail ssl hand shake error”
正在尝试连接一个错误的证书或者假装的地址
此服务器的证书无效你使用的是自签的证书
tsl需支持1.2以上

目前提供免费证书的云:(有这样的案例:用阿里云怎么检测都正确,但是就是有问题,后来换了腾讯云搞定)

1:腾讯云:https://www.qcloud.com/product/ssl
2:阿里云:https://common-buy.aliyun.com/?commodityCode=cas#/buy
3:七牛云:https://support.qiniu.com/hc/kb/article/223541

特别说明:

一般免费证书只支持单域名,不支持多域名或泛域名;
比如xcx.XXXX.xyz域名,你必须为xcx.XXXX.xyz申请证书,而不能为XXXX.xyz申请证书;假如你申请了XXXX.xyz,可能会报域名与证书不匹配的错误:

比如你使用了www.js123.com的域名,就必须为www.js123.com申请证书,而不能为js123.com申请证书;

ssl证书基础知识:

通常来说,SSL 证书分为三大类,他们的安全性是递增的,当然价格和安全系数成正比。
DV (Domain Validation Certificate) DV 证书适合个人网站使用,申请证书时,CA 只验证域名信息。几分钟之内就能签发。
OV ( Organization Validation Certificate) OV 证书需要认证公司的信息。1-2天签发。
EV ( Extended Validation Certificate) EV 证书的认证最为严格,一般会要求提供纸质材料。签发时间也较久。

常见的ssl证书检测地址:
1:https://www.qcloud.com/product/ssl.html#userDefined10
此链接用户排查域名是否支持tsl1.2,证书与域名是否匹配;必须全绿才算通过;
2:https://www.myssl.cn/tools/check-server-cert.html
此链接主要用于排查是否缺少中间证书,必须全绿才算通过;
3:辅助检测地址:https://www.ssllabs.com/ssltest/index.html

常见问题的可能性:
1:服务器不支持tsl1.0,1.1,1.2,导致提升,tsl需支持1.2;(微信小程序开发时服务器如何支持tls1.2?)
2:服务器缺少中间证书,需要安装中间证书;(你是如何解决服务器缺失中间证书(中级证书)问题的?)
3:证书不受信任:苹果支持的证书列表:https://support.apple.com/zh-cn/HT204132

如何排除是否还有证书问题:
1:至少使用以上两个检测链接,全部通过;
2:使用微信浏览器打开接口,看是否有数据,微信浏览器内有数据,则可排除是ssl证书问题,证明证书是受微信浏览器认可的;
3:在小程序内打印接口数据,假如可以打印出数据,但是没有渲染,则可排除是证书问题,请查看其它问题;

特别提示:证书问题,似乎无法通过工具内开启不检验域名及tsl版本(同时手机上打开调试)来临时规避!(假如我描述有误,欢迎指出!)

如果本帖,没有解决你的问题,请在这里回复确定问题;

猜你喜欢

转载自blog.csdn.net/fanhu6816/article/details/79917939