Let's Encrypt证书4G网下访问过慢解决方案
起因
因为LE证书的吊销状态检查域名(ocsp.int-x3.letsencrypt.org以及相关CName或Alias)在大陆受到劫持,苹果系统的浏览器打开SSL网站时将对证书的状态进行验证,当在验证证书状态时,请求了被劫持的Let’s Encrypt证书状态检查(OCSP)的服务器,而该服务器为不可使用状态或有很长延时,从而导致打开网站延时。而其他平台及浏览器如Chrome在访问SSL网站时并不进行这一项检查,所以大部分用户在Chrome中访问正常,只有在苹果系统中访问出现延时。
表现
IOS系统微信小程序接口、app接口、webview组件等在WIFI下访问响应正常,但在4G网下响应变慢
解决方案
在服务器上配置OCSP订书机(SSL Stapling)功能,然后强制让浏览器使用服务器提供的OCSP状态,而不是由浏览器去检查。目前Apache2.4和Nginx1.6以上的系统均支持该项配置。
- 修改服务器的hosts文件,解析正确的ocsp.int-x3.letsencrypt.org域名IP
修改服务器的hosts文件,把Let’s Encrypt的OCSP服务器进行正确的解析。目前 ocsp.int-x3.letsencrypt.org 正常的服务器IP有:
23.44.51.8 (美国,测试可用,20201120)
23.44.51.27 (美国)
104.109.129.57 (英国)
104.109.129.11 (英国)
175.45.42.209 (香港)
175.45.42.218 (香港)
可以在hosts文件中加入:23.44.51.8 ocsp.int-x3.letsencrypt.org
保存即可
- 在Apache或Nginx中启用OCSP订书机功能
Apache
1 |
|
Nginx
1 |
|
本人测试后指定DNS无效,改为关闭指定DNS,直接在/etc/hosts
中指定ocsp.int-x3.letsencrypt.org
的ip,亲测可用;
验证
验证OCSP Response是否开启成功
1 |
|
如果开启成功会得到响应
1 |
|
失败会得到
1 |
|
nginx并不是马上就去获取OCSP Response, 而是当网站被访问之后异步获取, 所以前几次请求没有OCSP Response可以多试几次。
相关内容
Https(LetsEncrypt) 在iPhone上慢的问题
使用Let’s Encrypt证书的网站在苹果系统打开很慢,Safari,IOS SSL引起的延时
记录一次开启 OCSP stapling 解决app内webview加载慢的问题 letsencrypt