Nginx letencrypt OCSP 装订

loc*_*doc 6 nginx ssl-certificate ocsp

我已经使用 SSL 设置了 nginx 并使用了 Letencrypt 证书。但是我无法让 OCSP 装订工作。

从我在网上找到的内容来看,它应该可以使用以下配置,但不幸的是它没有。我的 nginx vhost 看起来像这样:

server {

    ...

    # SSL Certificates
    ssl_certificate         /etc/letsencrypt/live/domain.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/domain.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;

    # Allow Nginx to send OCSP results during the connection process
    ssl_stapling on;
    ssl_stapling_verify on;

    resolver $DNS-IP-1 $DNS-IP-2 valid=300s;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 10s;

    ...
}
Run Code Online (Sandbox Code Playgroud)

当我使用https://www.ssllabs.com扫描我的域时,它会报告:

OCSP stapling   No
Run Code Online (Sandbox Code Playgroud)

我的配置中缺少什么?

rad*_*rad 2

我没有发现您的设置有任何问题,但删除冗余resolver指令可能会产生不同的结果。

我也遇到过类似的情况,我什至openssl根据这篇文章测试了 OCSP 装订:

echo QUIT | openssl s_client -connect www.yourdomain.com:443 -servername www.yourdomain.com -status 2> /dev/null | grep -A 17 'OCSP response:' | grep -B 17 'Next Update'
Run Code Online (Sandbox Code Playgroud)

无输出意味着 OCSP 装订尚未工作。

据我观察,如果我重新启动/重新加载 Nginx,然后立即使用 SSL 实验室进行测试,它会失败。然后我会使用上述命令进行几次测试,直到它起作用,然后在 SSL Labs 上重新测试。我建议您尝试一下,如果第一次失败,请等待几分钟,然后重试。这个对我有用。