Nginx“ssl_stapling”被 LetsEncrypt Certbot 忽略

如果您本月(2025 年 5 月)看到此错误,并尝试在网络上搜索修复程序,您会发现不会有修复程序可以保持 SSL Stapling 处于启用状态。

2025/05/09 13:44:25 [warn] 22666#22666: "ssl_stapling" ignored, no OCSP responder URL in the certificate "/etc/letsencrypt/live/your-domain.com/fullchain.pem"

2024 年 12 月发布了一份公告,列出了以下时间表:

  • 1 月 30, 2025
    • OCSP Must-Staple 请求将失败,除非请求帐户之前颁发了包含 OCSP Must Staple 扩展的证书
  • 5 月 7, 2025
    • 在此日期之前,我们将向证书添加 CRL URL
    • 在这一天,我们将从证书中删除 OCSP URL
    • 在此日期,包括 OCSP Must Staple 扩展在内的所有请求都将失败
  • 8 月 6, 2025
    • 在此日期,我们将关闭我们的 OCSP 响应器

因此,2025 年 5 月 7 日之后颁发的证书不再在证书中包含 OCSP URL,并且上述警告将显示在 NGINX 日志中。2025 年 8 月 6 日之后,任何仍依赖 OCSP Stapling 的现有证书将不会从其服务器收到响应。

修复方法是简单地关闭 OCSP Stapling,因为该功能不再适用于 LetsEncrypt 证书。如果您使用 certbot 安装和管理现有证书,您的 nginx 配置中可能会有以下行。

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

使用 vim 或 nm 打开该文件并找到以下行并用 # 注释掉它们。

#ssl_stapling on;
#ssl_stapling_verify on;

仔细检查您的 nginx 配置,特别是如果您在其他 locations 使用这些指令,请检查您的 server 块,并使用 LetsEncrypt 证书将它们注释掉任何域。然后测试您的 nginx 配置。

root@lin:/etc/letsencrypt# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

这应该减少日志条目,并为更改正确设置配置。

翻译:https://kbeezie.com/nginx-ssl_stapling-ignored-ocsp-letsencrypt/