nginx中ocsp stapling需同时满足证书含ocsp uri、nginx≥1.3.7、openssl≥1.0.1、系统时间偏差≤±5分钟、证书链完整,并在server块中配置ssl_stapling on、ssl_stapling_verify on、ssl_trusted_certificate、resolver及resolver_timeout,否则静默失效。

直接在 Nginx 的 HTTPS server 块中启用 ssl_stapling on 并不能真正生效——它必须与三项关键配置协同工作,否则会静默关闭,客户端仍需自行发起 OCSP 查询,导致 TLS 握手多出 150–300ms 延迟。
确认基础运行条件是否全部满足
OCSP Stapling 是一套强依赖机制,任一前提不达标,整个功能就无法启动:
- Nginx 版本 ≥ 1.3.7;生产环境建议使用 1.11.0 或更高稳定版(旧版本对 OCSP 错误响应处理不稳定,容易静默失败)
- OpenSSL ≥ 1.0.1;推荐 1.1.1+ 或更新版本(支持 SHA-2 签名验证,保障响应可信)
- 证书必须含 Authority Information Access 扩展,内嵌有效 OCSP URI;可用命令验证:
openssl x509 -in your.crt -text -noout | grep -A1 "OCSP"
输出中应出现类似OCSP - URI:http://ocsp.int-x3.letsencrypt.org - 服务器系统时间误差 ≤ ±5 分钟(OCSP 响应含严格
thisUpdate/nextUpdate时间戳,偏差超限即被拒绝) - 证书链完整:确保
ssl_certificate指向的是域名证书 + 中间证书合并的 PEM 文件(如 Let’s Encrypt 的fullchain.pem),或已通过ssl_trusted_certificate单独提供可信链
四条核心配置必须同时写全且位置正确
所有指令必须出现在 server { listen 443 ssl; } 块内,不可放在 http 块顶层,更不可嵌入 location 块中(否则无效):
-
ssl_stapling on;—— 显式启用装订机制 -
ssl_stapling_verify on;—— 强制校验 OCSP 响应签名、颁发者及有效期,防止缓存污染或伪造响应 -
ssl_trusted_certificate /path/to/full-chain-trusted.pem;—— 指向仅含中间证书 + 根证书的 PEM 文件(顺序:中间在前、根在后;不能含域名证书,也不能复用ssl_certificate路径) -
resolver 8.8.8.8 1.1.1.1 223.5.5.5 valid=300s;—— 必须显式指定 DNS 解析器(Nginx 不读/etc/resolv.conf);valid=300s避免 DNS 缓存过期导致 stapling 中断
推荐追加:resolver_timeout 5s;,防止 DNS 查询卡住整个 TLS 握手过程。
针对静态资源站点的安全优化建议
静态资源(JS/CSS/图片等)无后端逻辑,更依赖首字节快速响应,可叠加以下配置提升稳定性与安全性:
- 启用 TLS 会话复用:
ssl_session_cache shared:SSL:10m;和ssl_session_timeout 4h;,减少重复握手与 OCSP 查询频率 - 若使用 Let’s Encrypt,
ssl_trusted_certificate可直接指向chain.pem或fullchain.pem(确保不含私钥) - 禁用老旧协议:
ssl_protocols TLSv1.2 TLSv1.3;(OCSP Stapling 仅在 TLS 1.2+ 生效) - 不建议启用
ssl_stapling_file(需手动更新 OCSP 响应),除非明确处于断网隔离环境
验证是否真正生效
配置重载后,用 OpenSSL 工具实测最可靠:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -status -tlsextdebug &1 | grep -i "OCSP response"
若输出中出现:
OCSP Response Status: successful (0x0)
说明已成功启用;
若只显示 OCSP response: no resp 或 verify error:num=19:self signed certificate in certificate chain,则需按日志排查证书链或 resolver 连通性问题。











