zoukankan      html  css  js  c++  java
  • 开启OCSP提升HTTPS速度(关于 Let's Encrypt 证书验证服务器被墙后的提速方案 )

    背景:根据客服对用户信息的反馈,部分IOS启动app很慢甚至超时,而安卓并无异常。

    排查步骤
    1.查看nginx的错误日志和服务端的处理日志,并没有发现异常超时的记录;
    2.通过还原用户使用场景,用户发送请求到服务器接收到请求,产生了6-10s的延迟,这个直接导致ios 触发原定的3s超时;
    3.了解到用户并非出于网络较差环境,或者使用FQ软件,于是将问题定位到https验证;
    4.因为ios为了促进app审查,使用了https来与服务器通信,而安卓则是跳过验证,这点坐实了https验证的问题。
    解决思路
    1.检查https证书是否过期,发现各项证书均在有效期内;

    2.通过ssllab.com测试域名的各项指标,发现TLS只支持到v1.0-v1.2,v1.3并无支持,而v1.3在验证速度上比历史版本块,其中原因v1.3引入以下特性,速度有很大提升:

    相比过去的的版本,引入了新的密钥协商机制 — PSK
    支持 0-RTT 数据传输,在建立连接时节省了往返时间
    废弃了 3DES、RC4、AES-CBC 等加密组件,废弃了 SHA1、MD5 等哈希算法
    ServerHello 之后的所有握手消息采取了加密操作,可见明文大大减少
    不再允许对加密报文进行压缩、不再允许双方发起重协商
    DSA 证书不再允许在 TLS 1.3 中使用
    3.开启OCSP(Online Certificate Status Protocal), 在nginx的server{}配置中增加以下配置

    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/letsencrypt/live/xxx.xxx.com/fullchain.pem;
    resolver 8.8.8.8 8.8.4.4 1.1.1.1 valid=60s;
    resolver_timeout 2s;
    然后重启nginx,在https://www.ssllabs.com/ssltest/index.html 验证,OCSP stapling YES。
    4.之后验证https速度和http差不多了

  • 相关阅读:
    ASP.NET MVC Ajax下载文件(使用NPOI向现有的excel模板文件里面添加数据)
    Devexpress MVC DateEdit 设置默认的Time
    SQL 行转列(列的值不规则的数目)
    靶机Cyberry
    PHP-Audit-Labs-Day1
    DASCTF七月赛两道Web题复现
    靶机BlackMarket
    靶机CH4INRULZ_v1.0.1
    Kali中John的使用方法
    虚拟机中桥接模式和NAT模式以及仅主机模式的区别
  • 原文地址:https://www.cnblogs.com/duanweishi/p/13321672.html
Copyright © 2011-2022 走看看