Nginx 实现OCSP Stapling

简介: 详解Nginx 如何实现OCSP Stapling

什么是OCSP Stapling

OCSP的全称是Online Certificate Status Protocol,在线证书状态协议。它是一个用于检查证书状态的协议,客户端使用此协议来检查证书是否被撤销。而OCSP Stapling,是指服务端主动获取 OCSP 查询结果并随着握手协商时一起发送给客户端,从而让客户端免去自己验证的过程,提高 TLS 握手效率。

Web容器版本支持

Nginx version 1.3.7以上支持

Apache Server 2.3.3+ 以上支持

自动OCSP Stapling


server {
    listen 443 ssl;
    server_name www.xxx.cn;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s; #设置OCSP请求的DNS服务器地址
    resolver_timeout 5s;
    ssl_trusted_certificate ca.pem; #ca.pem为证书的中级CA证书

}

配置修改完成后,需要重启nginx服务规则才会生效。

手动开启OCSP Stapling

1,获取证书的OCSP地址

命令:openssl x509 -in server.pem -noout -ocsp_uri *server.pem为服务器证书公钥文件。

手动:双击打开.cer格式服务器证书-详细信息-颁发机构信息访问/授权信息访问-联机证书状态协议中的http链接地址:http://ocsp2.globalsign.com/gsorganizationvalsha2g2

2,制作stapling.ocsp文件

openssl ocsp -CAfile root.pem -issuer ca.pem -cert server.pem -url   http://ocsp2.globalsign.com/gsorganizationvalsha2g2 -text -respout ./stapling.ocsp -header "HOST" "ocsp2.globalsign.com"

其中root.pem为中级CA证书和顶级根证书,ca.pem为中级CA证书,server.pem为服务器证书。
注:stapling.ocsp具备生命周期,需每次在update到期之前更新,建议可以编辑自动化任务脚本进行更新。

3、在Nginx.conf添加如下内容到https站点配置中

server {
    listen 443 ssl;
    server_name www.xxxx.cn;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    ssl_stapling_file /etc/nginx/cert/stapling.ocsp;
    ssl_trusted_certificate ca.pem;
   }

4、验证OCSP Stapling 状态

openssl s_client -connect  youdomino.com:443 -tlsextdebug –status

已开启

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

未开启

OCSP response: no response sent

目录
相关文章
9kr
|
应用服务中间件 网络安全 nginx
通过宝塔Nginx反代HomeAssistant并添加SSL实现隐藏端口号与域名访问
HomeAssistant默认使用8123端口,带端口访问既不美观也不方便。 通过宝塔Nginx默认反代配置会出现各种意外错误,本文将通过修改HomeAssistant与反代配置解决该问题。
9kr
3682 1
通过宝塔Nginx反代HomeAssistant并添加SSL实现隐藏端口号与域名访问
|
缓存 负载均衡 算法
Nginx实现负载均衡(整合SpringBoot小demo)
Nginx实现负载均衡(整合SpringBoot小demo)
357 4
Nginx实现负载均衡(整合SpringBoot小demo)
|
存储 应用服务中间件 Linux
FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器
|
存储 Java 应用服务中间件
线程池设计, 从简单的我们平常设计线程池图解,到生活中的类似线程池的处理现实场景, 到简单的C++模拟nginx写的单链表组织工作队列的简单线程池实现 + nginx 部分源码刨析
线程池设计, 从简单的我们平常设计线程池图解,到生活中的类似线程池的处理现实场景, 到简单的C++模拟nginx写的单链表组织工作队列的简单线程池实现 + nginx 部分源码刨析
线程池设计, 从简单的我们平常设计线程池图解,到生活中的类似线程池的处理现实场景, 到简单的C++模拟nginx写的单链表组织工作队列的简单线程池实现 + nginx 部分源码刨析
|
存储 网络协议 Java
内存池组件以及根据nginx内存池源码设计实现简易内存池
内存池组件以及根据nginx内存池源码设计实现简易内存池
内存池组件以及根据nginx内存池源码设计实现简易内存池
|
SQL 负载均衡 应用服务中间件
nginx安装 、分发实现多域名访问同一主机不同端口
nginx安装 、分发实现多域名访问同一主机不同端口
937 0
nginx安装 、分发实现多域名访问同一主机不同端口
|
监控 数据可视化 应用服务中间件
Nginx系列:用GoAccess实现可视化并实时监控access日志
Nginx系列:用GoAccess实现可视化并实时监控access日志
363 0
Nginx系列:用GoAccess实现可视化并实时监控access日志
|
域名解析 JavaScript 前端开发
Linux安装NodeJs并配合Nginx实现反向代理
Linux安装NodeJs并配合Nginx实现反向代理
365 0
|
负载均衡 网络协议 应用服务中间件
nginx实现负载均衡
nginx实现负载均衡
337 0
nginx实现负载均衡
|
域名解析 网络协议 安全
nginx配置ssl证书实现https
nginx配置ssl证书实现https
470 0
nginx配置ssl证书实现https