在 Nginx 中同时启用 ECC 和 RSA 证书时,Nginx 服务器返回重复的中间证书

在 Nginx 中同时启用 ECC 和 RSA 证书时,Nginx 服务器返回重复的中间证书

我已经将 Nginx 配置为以混合模式同时支持 ECC 和 RSA 证书。

启用后,使用以下 cmd 从我的服务器获取完整链证书:

openssl s_client -showcerts -connect server:443 -servername server-sni

然后我得到了三个证书,一个叶子证书,两个重复的中间证书(应该只有一个中间证书)。

我没有发现我的 nginx 配置有任何问题

    #rsa
    ssl_certificate /path/server_rsa-cert.pem;
    ssl_certificate_key /path/server_rsa-key.pem;
    # ecc
    ssl_certificate /path/server_ecc-cert.pem;
    ssl_certificate_key /path/server_ecc-key.pem;

然后我尝试删除 ECC 证书或 RSA 证书,运行 openssl 命令,之后没有重复的中间证书。

因此,似乎重复的中间证书仅当 Nginx 处于混合证书模式时才会发生。

对此有什么想法吗?

答案1

好吧,经过一番研究,我发现所有这些问题都是由我使用的旧 libressl 版本引起的。将 libressl 版本升级到 2.9.2,然后编译 Nginx 解决了此问题。

相关内容