服务端没有开 OCSP stapling,抓取日志里每次新连接建立 TLS 要 600ms 左右,同一时段用户端的首字节也偏高。开了装订之后降到 200ms 以内,抓取量当天回升一成。
原因不止一个,得分开看。ssl_stapling 未开启 客户端要自己去查吊销状态;resolver 没有配置 装订拿不到响应;证书链缺中间证书 装订缓存不起来;CDN 回源不复用连接 每次都要完整握手。
测一次握手的耗时
curl -s -o /dev/null -w '%{time_appconnect}\n' https://www.example.com/
再往下开启装订并配置 resolver
ssl_stapling on; ssl_stapling_verify on; resolver 223.5.5.5 valid=300s;
随后确认装订响应存在
openssl s_client -connect www.example.com:443 -status | grep -i 'OCSP Response Status'
等前面都确认过,再统计日志里的连接耗时
awk '{print $NF}' access.log | sort -n | tail -5
白天有业务在跑,能验证的部分都压到了晚上做。
当时还开着另一个排查窗口,两边日志对照着看才定位到。
同一份数据我导出了两份,一份留底,一份拿来试。
改完先别撤,确认这几项。openssl 输出 OCSP Response Status 为 successful,time_appconnect 稳定在 200ms 以内。
装订省的是每个新连接的时间,抓取量大的站点收益明显,小站感知不强。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
