环境:

centos 7.6

tengine 2.3.0

openssl 1.0.2k

近日 业务部门反映说苹果手机打开相关站点时间过长 安卓手机没问题

遂开始排查

发现 在苹果手机 IOS 13.4以下的系统中

不管是在微信还是用safari打开网页 时间都会明显长于安卓 IOS 升级到13.4.1后问题消失

使用mac 调试显示 TCP SSL 相关时间在3s+

目前使用的是 Let's Encrypt 的证书

更换HTTPS证书后问题消失

现象如下图
before.png

下图是更换证书后的情况
after.png


这个已经知道原因了,Let's Encrypt 证书的OCSP地址 ocsp.int-x3.letsencrypt.org 被某种神秘力量所影响

没法正确解析dns了,chrome里好像 默认不在客户端检测ocsp,safari和ios就不行。
有两种解决办法:

1.更换证书,这个没啥说的

2.让客户端可以正常访问ocsp,这里分两种情况:

1.客户端翻墙

2.服务器做ocsp stapling,让ocsp请求通过自己的服务器来做,解决这个问题

因为这次神秘力量比较奇怪,只影响DNS解析,没有影响TCP连接,所以可以在服务器做DNS解析

ocsp.int-x3.letsencrypt.org => 23.59.247.250,23.59.247.8 (这里我是用国外服务器ping了一下拿的这个地址,大家随意)

留下Nginx配置做个纪念

http
{
    resolver 127.0.0.1;#oscp stapling必须使用DNS解析的地址,本地搭一个即可

    server
    {
        ssl_stapling on;
        ssl_stapling_verify on;
    }
}

(转载自:https://www.cnblogs.com/wenming/p/12679152.html)

标签: 证书, 接口请求慢