ios 访问 Let‘s encrypt 免费证书的 https 很慢是什么原因?

场景:

网站第一次在IOS上加载速度慢,查看请求发现dns解析时间过长。

原因:

因为LE证书的吊销状态检查域名(ocsp.int-x3.letsencrypt.org 以及相关CName或Alias)在大陆受到劫持引起。苹果系统的浏览器打开SSL网站时将对证书的状态进行验证,当在验证证书状态时,请求了被劫持的Let’s Encrypt证书状态检查(OCSP)的服务器,而该服务器为不可使用状态或有很长延时,从而导致打开网站延时。

由于证书状态检查由苹果的浏览器(UIWebView, WKWebView、Safari)发起,而Chrome在访问SSL网站时并不进行这一项检查,所以大部分用户在Chrome中访问正常,只有在苹果系统中访问出现延时。

解决办法1

换证书

解决办法2

在服务器上配置OCSP(SSL Stapling)功能(OCSP是用于在线查询证书吊销情况的服务),然后强制让浏览器使用服务器提供的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 (美国)

23.44.51.27 (美国)

104.109.129.57 (英国)

104.109.129.11 (英国)

175.45.42.209 (香港)

175.45.42.218 (香港)

223.119.50.201(香港)

223.119.50.203(香港)

23.32.3.72(东京)

我试了下,175.45.42.21 最快,也没有丢包。

可以在hosts文件中加入:

175.45.42.218 ocsp.int-x3.letsencrypt.org

保存即可!

附:hosts文件路径:

Windows(以管理员身份运行记事本,然后打开): C:\windows\system32\drivers\etc\hosts

Linux/Unix/Mac Server(必须先切换到超管): /etc/hosts

第二步:在Apache和Nginx中启用 OCSP 功能

apache

修改全局SSL配置(注意部分服务器要求这两项配置的路径在同一目录):

SSLSessionCache "shmcb:conf/ssl_scache(512000)"

SSLStaplingCache "shmcb:conf/ssl_stapling(512000)"

SSLUseStapling On

nginx

修改SSL配置:

ssl_stapling on;

ssl_stapling_verify on;

第三步:重启 apache 或 nginx 即可!

最后可以用 https://www.getssl.cn/ocsp 来检测是否生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值