Let's Encrypt被DNS污染导致苹果手机访问速度慢/iphone访问慢之谜-Let's Encrypt是很火的一个免费SSL证书发行项目,Let's Encrypt是由ISRG提供的免费免费公益项目,自动化发行证书,但是证书只有90天的有效期. 但是.....

谷子猫博客

一个简单爱分享的小站!^_^!
首页>> 网文转载 >>Let's Encrypt被DNS污染导致苹果手机访问速度慢/iphone访问慢之谜


Let's Encrypt是很火的一个免费SSL证书发行项目,Let's Encrypt是由ISRG提供的免费免费公益项目,自动化发行证书,但是证书只有90天的有效期.
但是因为使用者众多,基于Let's的自动申请脚本非常方便,很多知名大厂推出的自动化分布let's证书系统。

这也导致了一个问题,就是let's被滥用,当非法站点也使用了let's证书后,该证书在一些搜索引擎上的评分就比较低了。

使用let's证书的网站在PC上访问还行,但是苹果手机上Safari浏览器上第一次会访问会非常慢,但只要第一次访问后,后续的访问速度均不受影响...


在多次尝试后,发现在Firefox和IE浏览器上能复现该问题,在ssl握手之前,Firefox会阻塞2s,IE浏览器会阻塞10s以上;
Let's证书验证无法加载

问题能复现就好解决了;使用Charles进行抓包,发现使用IE打开网站的时候,会去请求ocsp.int-x3.letsencrypt.org域名进行证书验证,该域名无法访问从而导致访问速度变慢;

所以问题就出在SSL证书上面,很多人使用的证书是Let's Encrypt证书,其特点是免费、支持泛域名、并且脚本一键部署,但是Let's Encrypt证书的OCSP验证域名被DNS污染,无法解析到正确的IP地址,导致无法进行证书有效性验证。

Let's证书服务器被干扰


Let's证书无法使用


Let's证书验证服务器无法正常连接


这时候有同学要问了:OCSP验证又是什么呢?
OCSP 称 Online Certificate Status Protocol,即在线证书状态协议。说白了就是查询你的SSL证书是不是被提供商吊销了,正常访问一个网站时,浏览器要先去使用OCSP协议去查询你的证书是否有效,如果有效才进行接下来的操作;
可全球这么多网站,都去验证的话OCSP服务器也扛不住,所以查询就可能超时;不同浏览器都会有不同的OCSP验证超时时间,超过那个时间就不进行验证了,先默认你是有效的继续进行访问。

比较新的Chrome内核和Firefox内核 不会 进行校验,而苹果系统下的Safari 会 校验,IE 未知 ,在IOS系统的微信小程序 会 校验,Android系统的微信小程序则 不会 进行校验
补充一下:校验地址如果访问不通,会一直等到访问超时,所以会peding 3 ~ 10秒,超时以后会默认为安全,所以不会出现证书不安全的提示。本次访问的后续请求依然可以正常执行,只会表现为首次请求慢。



简单来讲,就是苹果系统的Safari浏览器在加载网站的时候会验证 Let's证书,但是因为证书验证不可达,造成了苹果手机Safari浏览使用Let's证书的网站加载出现延迟。

但是有些" 注重用户体验" 的浏览器,比如Chrome就感觉这种方式很不好,于是Chrome浏览器就不用这个协议了,自己在浏览器内部做了个本地列表,通过每次浏览器更新来进行列表更新;由于直接查本地的列表速度就非常快了,缺点是不是实时的;
受Chromium项目的影响,国内的绝大部分换皮浏览器也使用的这个策略,所以大部分的浏览器压根就没有进行使用OCSP协议去验证SSL域名的有效性,所以大部分的浏览器访问速度就很快了;但是有些浏览器,比如苹果的Safari和IE就强制开启了OCSP验证,Firefox的OCSP验证可以在选项中关闭;
由于Let's Encrypt证书的OCSP验证域名被DNS污染,无法进行验证,所以就出现了首次访问会很慢的原因,也就是OCSP验证超时了。

那么解决办法显而易见了~ 对!就是换个SSL证书!...



×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:谷子博客 » Let's Encrypt被DNS污染导致苹果手机访问速度慢/iphone访问慢之谜
标签: 安全 网络 维护 代码 运营商 ios

发表评论

路人甲

网友评论(0)