http ocsp 是干什么用的

http ocsp 是干什么用的,第1张

OCSP(Online Certificate Status Protocol,在线证书状态协议)是维护服务器和其它网络资源安全性的两种普遍模式之一。OCSP克服了证书注销列表(CRL)的主要缺陷:必须经常在客户端下载以确保列表的更新。当用户试图访问一个服务器时,在线证书状态协议发送一个对于证书状态信息的请求。服务器回复一个“有效”、“过期”或“未知”的响应。协议规定了服务器和客户端应用程序的通讯语法。在线证书状态协议给了用户的到期的证书一个宽限期,这样他们就可以在更新以前的一段时间内继续访问服务器。

如果最近发现iOS APP打开h5非常慢,达到5秒以上,而安卓是正常,如果刚好你又是使用了Let's Encrypt 的免费SSL服务,恭喜你,你可能是一位运营商干扰的受害者。

正常的域名dig信息

错误的dig信息

SSL服务,如果新版系统的ios web浏览器来浏览,会在加密通信的某个阶段,对CA证书的有效性进行验证,如果验证不了,一般也会允许访问,但会提示错误,这个验证,如果域名访问不了,你造成了等待超时才返回,这就是慢的原因。而非webview或安卓webview访问,因为没有实现ocsp验证的流程,故访问速度是正常的,没有区别。

因为Let's Encrypt的OCSP验证阶段,需要使用域名ocsp.int-x3.letsencrypt.org(x后面的数字可能是1-4中之一)进行验证,而这个域名对应的服务器是托管在 a771.dscq.akamai.net ,不知何故,最近墙把它拦截了,就导致所以h5的访问卡在这了,当然,如果你不用ssl是没有问题的。

1、不用ssl

2、等墙解封

3、在webserer配置 OCSP Stapling功能

如果你采用第3个方法,这里详细解释一下。

ocsp stapling是什么,简单的讲,就是将原来由各个用户去发起验证证书有效性的请求,由webserver代劳了,这样就不用每个用户都去连CA的验证服务器了,相对来说访问速度就会加快不了。如果你使用的是nginx,可以这样配置开启ocsp stapling:

*将配置里的your.domain.com替换成你自己的域名。

修改完配置重启webserver。

还有为了避免域名污染,导致解析失败,还需要修改/etc/resolve.conf(假设是CentOS),添加以下记录:

等等,即使由服务器代劳,你服务器不也一样访问不了CA的验证服务器,如上述 a771.dscq.akamai.net 域名,你抓到关键点了,确实也访问不了,你如果通过网上的教程去配置,也会发现ocsp response请求会失败,错误提示如:

并且在webserver的error.log里有会有以下信息

嗯,验证仍然有问题的,但是经过测试,实际访问速度是正常的。第一次请求可能会慢,因为前几次请求,服务器会去请求验证,后面请求就会快了,即使没验证成功,它也会缓存这个结果。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/402799.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存