1 起因
最近突然发现我的网站在苹果手机上Safari浏览器上第一次会访问会非常慢,但只要第一次访问后,后续的访问速度均不受影响...
这就纳闷了,网站速度我都是优化过的,为什么会存在这种情况呢?
困扰我许久,因为只有手机访问才这样,在电脑上访问速度都很快,完全没有头绪...
2 问题研究
在多次尝试后,发现在Firefox和IE浏览器上能复现该问题,在ssl握手之前,Firefox会阻塞2s,IE浏览器会阻塞10s以上;
问题能复现就好解决了;
使用Charles进行抓包,发现使用IE打开网站的时候,会去请求ocsp.int-x3.letsencrypt.org
域名进行证书验证,该域名无法访问从而导致访问速度变慢;
所以问题就出在SSL证书上面,我使用的证书全部是Let's Encrypt证书,其特点是免费、支持泛域名、并且脚本一键部署,但是Let's Encrypt证书的OCSP验证域名被DNS污染,无法解析到正确的IP地址,导致无法进行证书有效性验证。
这时候有同学要问了:OCSP验证又是什么呢?