twn39 / code

:memo: 代码笔记,通过 issue 的方式记录日常遇到的问题和学习笔记
13 stars 1 forks source link

iphone lets‘ encrypt https 运行缓慢问题 #343

Open twn39 opened 3 years ago

twn39 commented 3 years ago

iphone 客户端在请求 let's encrypt 的 https 服务时非常缓慢,通常 3s 以上,在浏览器或者 安卓系统上却没有这个问题,而且又短又时间还莫名变正常了。

主要原因是 iphone 客户端对 lets encrypt 的证书进行吊销验证,即 OCSP, 而 Ocsp.int-x3.letsencrypt.org 这个验证站点是被劫持,并且非常缓慢的,因而在 https 握手阶段就被阻塞了。而 android 系统, chrome 等都不会去 OCSP 验证,因而这些系统不受影响。

解决方案:

  1. 换成其他机构签发的证书,但是这样成本比较高,对于商业应用比较方便直接的解决方案,开发可用 http ,而正式的换成收费证书。

  2. 修改服务端 host, 并且配置服务端 OCSP 验证,目前还在尝试阶段,后续更新。

twn39 commented 3 years ago

check OSCP:

openssl s_client -connect [yoursite.com]:443 -status

如果开启了服务端 OCSP 验证,则会有这些字段:

OCSP Response Status: successful (0x0)