本文作者:开源技术之家

Nginx启用OCSP Stapling配置

开源技术之家 11个月前 ( 05-29 ) 1168 抢沙发

Nginx启用OCSP Stapling配置摘要: 如果没记错的话,4月初开始发现Let's Encrypt的ocsp域名被墙(GFW牛逼~),导致站点加载速度贼慢贼慢但目前只是通过切换证书来解决而已,实际上还可以通过配置O...

如果没记错的话,4月初开始发现Let's Encryptocsp域名被墙(GFW牛逼~),导致站点加载速度贼慢贼慢

但目前只是通过切换证书来解决而已,实际上还可以通过配置OCSP Stapling来解决。

在线证书状态协议(Online Certificate Status Protocol),简称 OCSP,是一个用于获取 X.509 数字证书撤销状态的网际协议,在 RFC 6960 中定义。OCSP 用于检验证书合法性,查询服务一般由证书所属 CA 提供。OCSP 查询的本质,是一次完整的 HTTP 请求加响应的过程,这中间涵括的 DNS 查询、建立 TCP 连接、Web 端工作等步骤,都将耗费更多时间,使得建立 TLS 花费更多时长。

而这时,OCSP Stapling 出现了。经由 OCSP Stapling(OCSP 封套),Web 端将主动获取 OCSP 查询结果,并随证书一起发送给客户端,以此让客户端跳过自己去寻求验证的过程,提高 TLS 握手效率。

生成OCSP Stapling文件

需要准备两份证书:

根证书(root.pem) + 中间证书(intermediate.pem)

以下以Let's Encrypt证书为例:

根证书:

DST Root CA X3

https://ssl-tools.net/certificates/dac9024f54d8f6df94935fb1732638ca6ad77c13.pem

ISRG Root X1

https://letsencrypt.org/certs/isrgrootx1.pem

中间证书:

Let's Encrypt Authority X1

https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem

Let's Encrypt Authority X2

https://letsencrypt.org/certs/lets-encrypt-x2-cross-signed.pem

Let's Encrypt Authority X3

https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem

Let's Encrypt Authority X4

https://letsencrypt.org/certs/lets-encrypt-x4-cross-signed.pem

这里以DST Root CA X3 根证书 + Let's Encrypt Authority X3 中间证书 为例(现在 Let's Encrypt 签发的证书基本都是这样的组合)

Bash
// 下载根证书和中间证书wget -O root.pem https://ssl-tools.net/certificates/dac9024f54d8f6df94935fb1732638ca6ad77c13.pemwget -O intermediate.pem https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
// 生成 OCSP Stapling 验证文件注意,中间证书在上、根证书在下cat intermediate.pem > chained.pemcat root.pem >> chained.pem

这样,生成的 chained.pem 就是所需的 OCSP Stapling 验证文件。

开启OCSP Stapling

仅以nginx为例,在配置文件的server块中添加如下配置:

Bash
ssl_stapling on;ssl_stapling_verify on;ssl_trusted_certificate /path/to/certs/chained.pem;保存后重启nginx即可

验证 OCSP Stapling 是否开启

使用 SSLLABS 自动验证

访问 https://www.ssllabs.com/ssltest/ ,输入域名,稍等片刻后,如果发现结果中出现如下内容则证明已成功开启 OCSP Stapling :

Nginx启用OCSP Stapling配置 热爱折腾 第1张

手动验证

BASIC
echo QUIT | openssl s_client -connect 域名:443 -status 2> /dev/null | grep -A 17 'OCSP response:'

结果为下图内容,则开启成功:

Nginx启用OCSP Stapling配置 热爱折腾 第2张

注意事项

看图片最后一行可以知道,该验证一个月需要更新一次,继续以上操作即可,或者编写shell脚本进行定时更新即可。


本文标题:Nginx启用OCSP Stapling配置
本文链接:https://www.kyjszj.com/htzq/2246.html
作者授权:除特别说明外,本文由 开源技术之家 原创编译并授权 开源技术之家 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
文章版权及转载声明

作者:开源技术之家本文地址:https://www.kyjszj.com/htzq/2246.html发布于 11个月前 ( 05-29 )
文章转载或复制请以超链接形式并注明出处开源技术之家

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,1168人围观)参与讨论

还没有评论,来说两句吧...