51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

nginx开启OCSP Stapling优化https访问性能

# nginx 通过 OCSP Stapling 优化 https 访问性能 {#nginx-通过-ocsp-stapling-优化-https-访问性能}

本文讲述 nginx 开启 OCSP Stapling 的配置方法, 从而优化 https 的访问性能。因为免费证书的证书校验服务器可能没有国内节点,导致国内用户通过 https 访问站点可能会明显比 http 慢。nginx 开启 OCSP Stapling 即可解决该问题。

# https 站点访问慢的原因分析 {#https-站点访问慢的原因分析}

因为浏览器访问 https 站点时,至少首次访问会去证书校验服务器检验 https 证书, 但是免费证书的校验服务器一般都在国外,导致国内用户访问的时候,会明显感到慢,甚至经常出现网络错误。

不同的客户端设备的 https 证书校验机制又不尽相同。例如 android 设备会在首次访问 https 站点时,把证书缓存在本地,后续访问就不会去访问校验服务,导致 android 上访问很流畅,但是 ios 设备却体验特别差,甚至压根没法用。

为了解决免费 https 证书访问慢的问题,有个解决方案:OCSP Stapling。

# 检查证书是否已开启 OCSP Stapling {#检查证书是否已开启-ocsp-stapling}

  1. 通过命令 openssl s_client -connect sofineday.com :443 -servername sofineday.com -status -tlsextdebug < /dev/null 2>&1 | grep "OCSP"
  • 若显示如下结果,则表示已开启

    OCSP response: OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response

  • 若显示如下结果,则表示未开启

    OCSP response: no response sent

  1. 前往 myssl.com (opens new window) 网站 查看

    • 访问https://myssl.com/ (opens new window), 输入域名
      20200619155914.png
    • 查看 OCSP 装订状态
      若没有开启 ocsp, 显示如下
      20200619160156.png 点击"刷新报告",更新报告信息
      20200619160448.png
      若已开启 ocsp,显示如下
      20200619160739.png

# 开启 nginx 的 OCSP Stapling 配置 {#开启-nginx-的-ocsp-stapling-配置}

提示

此处只给了 Let's Encrypt 证书的 oscp 配置
若您使用的是其它品牌的证书,配置方法不同,请自行查找教程。

在原有的 https 配置基础之上,加入如下 4 行配置即可

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=60s ipv6=off;
resolver_timeout 5s;
赞(5)
未经允许不得转载:工具盒子 » nginx开启OCSP Stapling优化https访问性能