苹果IOS和MAC系统在访问https网站的时候会默认先对证书进行OCSP发送请求实时查询,以保证证书是否正常。当我们使用海外的证书,OCSP服务器在海外,国内访问的时候当遇到出口带宽波动或者DNS污染的时候就会照成初次访问卡几秒,超时后浏览器将自动跳过验证。
解决办法
可以开启服务器上Nginx开启OCSP Stapling来加快速度,意思是让客户端不去检测有效性,而是由服务器去检查
什么是OCSP Stapling
OCSP(Online Certificate Status Protocol,在线证书状态协议)是由数字证书颁发机构CA(Certificate Authority)提供,客户端通过OCSP可实时验证证书的合法性和有效性。
启用OCSP Stapling功能后,OCSP信息查询的工作将由全站加速服务器完成。全站加速通过低频次查询,将查询结果缓存到服务器中(默认缓存时间60分钟)。当客户端向服务器发起TLS握手请求时,全站加速服务器将证书的OCSP信息和证书一起发送到客户端,供用户验证,无需用户再向数字证书认证机构(CA)发送查询请求。极大地提高了TLS握手效率,节省了用户验证时间。

开启 OCSP 装订功能
以 Nginx 为例,编辑站点配置文件,在 https { 配置段中添加添加如下代码
# 开启 OCSP Stapling ssl_stapling on; # 启用或禁用服务器对OCSP响应的验证 ssl_stapling_verify on; # 添加resolver解析OSCP响应服务器的主机名,valid表示缓存5分钟。这里添加是为了解决DNS污染问题。 resolver 8.8.8.8 223.5.5 valid=500s; # 网络超时时间 resolver_timeout 2s;

