有没有办法让 Nginx积极主动地每次重新加载配置或重新启动 Nginx 时,都会清除所有缓存的 OCSP 装订证书?或者,是否可以将 Nginx 设置为在重新加载或重新启动时保存装订证书,而不是丢弃它们?重新加载或重新启动 Nginx 似乎会清除所有缓存的 OCSP 装订证书。
我已经在运行 Nginx 1.11.4 的 Ubuntu 16.04.1 服务器上测试并运行了 OSCP 装订,并使用Certbot 的 OCSP 必备品TLS 功能扩展。我的问题是,在重新加载或重新启动 Nginx 时,绑定的响应未保存,第一个访问者看到的是错误页面(这是服务器尚未绑定的“必须绑定”证书的预期结果)。
我必须访问服务器托管的每个网站并重新加载它们几次,而 Nginx 会自动 OCSP 绑定证书,然后一切才会重新开始工作,直到下次重新启动。我想自动执行此步骤或完全避免它。
答案1
该文章解释了一种方法: https://matthiasadler.info/blog/ocsp-stapling-on-nginx-with-comodo-ssl/
想法是手动获取 OCSP 响应并使用 ssl_stapling_file 指令。
https://unmitigatedrisk.com/?p=241详细解释:
URL = $(openssl x509 -in $SERVER_CER -text | grep “OCSP - URI:” | cut -d:-f2,3)
openssl ocsp -noverify -no_nonce -respout ocsp.resp -issuer \ $ISSUER_CER -cert $SERVER_CER -url $URL
其中“ocsp.resp”是您在 Nginx 中为“ssl_stapling_file”配置的任何文件。