解决苹果手机iOS下有的网页打开很慢的问题

浏览1297

博客网页在iPhone的微信里面打开一直比较慢,一开始没在意,以为是服务器的锅。我在安卓手机上打开发现比iPhone上快得多,每次打开网站都是秒开。

后面发现是Let's Encrypt被墙的问题,iOS平台还涉及对CA证书的有效性进行验证。这个验证就牵扯出了ssl的ocsp stapling

在nginx上配置ocsp stapling

ssl_stapling_verify on;
resolver 233.5.5.5 233.6.6.6 8.8.8.8 4.4.4.4 202.96.134.133 valid=300s;
resolver_timeout 2s;
ssl_trusted_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 180m;

配置好一测试,iPhone上打开社区真明显快了,完美。

到这里,问题都解决了。为什么Android没有这个问题?

Android没有问题的原因是,Google不满意ocsp这个解决方案,所以所有google的产品,无论是android还是chrome都不进行ocsp检查。

Flutter写的app在iOS上偶尔会发生了界面卡顿甚至冻结10多秒,但在Android正常。

总结:

1、使用国内的ssl证书,换掉Let's Encrypt 证书,因为他使用akamai cdn分发ocsp状态,akamai.net基本被墙。

2、服务开启OCSP Stapling,因为能减少http请求次数,优化速度。

3、阿里云腾讯云都有国内的一年的免费证书。



  • 暂无任何回答