用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

2017-2-20 01:00:16 天下雪原创达人 造轮子 人生巅峰 楼主 74436
第100个坑。。。
ssl证书其实本站有很多相关的文章,但是没有针对ssl证书做过专门的说明,最近发现,还是有很多同学,困扰在这个地方;所以特整理一些有用的知识放在这里,本帖将不断聚合跟ssl证书相关的知识和错误;

特别提示:当问题较为复杂时,请制作一个专门的最简demo,以便集中观察,确定问题。

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

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

QQ截图20170509104530.jpg

目前发现的可能由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申请证书;

(检测地址在下方) QQ截图20170226222748.jpg

QQ截图20170226223310.jpg


请勿使用的ssl证书提供者:https://www.startssl.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版本(同时手机上打开调试)来临时规避!(假如我描述有误,欢迎指出!)
本帖相关帖:
request:fail错误(含https解决方案)(真机预览问题
https相关系列教程:http://www.wxapp-union.com/portal.php?mod=list&catid=17
微信小程序真机预览跟本地不同的问题



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


新增可能的原因:
问题:
服务器已支持SSL 结果不能访问
为什么连接中断了?
有大神知道原因不?
app 能访问  小程序不能访问
在真机上访问 错误是这样的 fail ssl hand shake error
失败的手握手错误
问题和讨论收集478.png

服务器补丁
因为 接口 谷歌浏览器不能访问 只是要是webkit内核的都不能访问,我去查了查 结果是补丁引起的 最后把那个补丁干掉了 就可以访问了

新增讨论:
6.5.5 的wx.request 支持StartSSL证书吗
在测试小程序的工作中,我的微信版本是6.5.7 ,后台服务器用的是StartSSL免费证书,可以正常请求。我同事的微信版本是6.5.5,向后台请求时,却提示服务器的证书有问题。请问一下这是版本问题吗?(又拿了一个6.5.5 版本的手机测试,还是同样的问题)
答:天下雪
StartSSL、Wosign沃通证书,据我所知,这两家受到了一些主流浏览器的惩罚;所以不建议使用



有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
你好。请问本地调试关闭了HTTPS校验,也不能使用wx.upload吗?wx.request到是没问题。要使用upload的话必须要用正规验证过的https?
工具调试没问题,在真机上就获取不到数据,打开调试什么错也不报,tsl ssl  都没问题,用的是nginx服务器 各位大神怎么搞?
小菜鸟ooo 发表于 2017-5-14 21:57
工具调试没问题,在真机上就获取不到数据,打开调试什么错也不报,tsl ssl  都没问题,用的是nginx服务器  ...

参考:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1909

先做充分的测试,再做对比
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
我也是一样的服务器安装了ssl证书以后不能上传文件wx.uploadFile直接就是失败,但是其他请求数据都是可以的有什么办法解决么,是证书的问题么
小刘同学、 发表于 2017-7-11 15:16
你好。请问本地调试关闭了HTTPS校验,也不能使用wx.upload吗?wx.request到是没问题。要使用upload的话必须 ...

如果没有https,建议测试时用http          另外upload可以试试真机       是否必须真机测试      具体记不清楚了     另外别忘记了配置域名     upload也要单独配置
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
wo4558771 发表于 2017-7-11 17:52
我也是一样的服务器安装了ssl证书以后不能上传文件wx.uploadFile直接就是失败,但是其他请求数据都是可以的 ...

先看是否配置了uploadFile域名         按道理来说请求数据可以,域名应该是没问题的   
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
我的是阿里云的服务器,server 2012
证书安装好之后IE访问没问题, chrome 访问提示 ERR_CONNECTION_CLOSED
小程序 提示 net::ERR_CONNECTION_ABORTED
服务器补丁
因为 接口 谷歌浏览器不能访问 只是要是webkit内核的都不能访问
请问是什么补丁造成这个问题,
发新帖
您需要登录后才可以回帖 登录 | 立即注册