Feng's Notes

周海锋的个人博客

0%

https加载慢的问题分析

一、问题说明

运营反馈近期客户端页面加载变慢,经常需要10~20s以上的时间才能显示出,甚至加载不出来,需要手动退出,重新打开才能出现。

二、问题分析

  1. 首先怀疑是DNS问题,用的是运营商的作为首选DNS,修改成114.114.114.114 没有效果。
  2. 通过输出请求连接返回时间,发现部分 https 资源访问极慢,切换到 http 地址,访问变快
  3. 初步怀疑是 ssl 证书引起的,测试发现,加载缓慢的https地址的证书都是 digicert 的,证书校验ocsp地址为 http://ocsp.digicert.com,通过chinaz 检测,目前这个地址国内访问很慢

image.png

  1. 通过替换加载链接:https://www.baidu.com/ (GlobalSign证书) https://suowo.cn/ (Digicert证书, oscp地址与我们相同) 验证。 百度加载很快,suowo.cn 的表现和我们一致,加载需要很久,基本确认就是证书的问题。

三、解决方案

  • 方案一: 目前我们使用的是在阿里云上申请的单域名免费证书,只有 Digicert 的国外验证地址可选。 考虑替换国内 ocsp 验证的收费证书。
  • 方案二:客户端临时替换成加载 http 页面,根据页面来切换请求的地址是 http/https。
  • 方案三:开启nginx 和 cdn 的 OCSP stapling, 由于国内cdn节点访问 ocsp 地址也很慢,经过验证,还是会间歇性访问超时