未检测到 nginx 虚拟服务器中指定的 ssl 证书

未检测到 nginx 虚拟服务器中指定的 ssl 证书

我已经配置了我的 nginx 虚拟服务器,如下所示:

server {
    listen 443 ssl;

    server_name #server_name_value;
    ssl on;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/private/nginx.key;

    location / {
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:9001/;
    }        
}

现在对于这台服务器,我有 nginx.crt 文件,但另一台服务器有另一个配置文件,我有另一个证书。
现在我在我的机器上使用 openssl 创建了 csr,然后使用 tinyca2 对其进行了验证。然后我通过指定路径使用该证书。
现在有另一个证书,我在同一台机器上创建了这两个证书,并将这两个证书放在同一个目录中,但指定了要用于特定服务器的证书。
所以我的问题是,当我访问上述服务器时,它显示添加异常,但是当我查看证书时,它不使用指定的证书,而是使用我在创建上面使用的证书后创建的另一个证书。

那么,是不是因为我只能在 nginx 的 ssl 目录中有一个证书,或者是我在阅读 nginx 文档时忽略了什么?因为我真的不知道这里发生了什么。

答案1

server_name 是否#server_name_value与证书主题中的 CN 匹配?如果不匹配,SNI 则无法匹配。

相关内容