nginx> 该服务器的证书链不完整。等级上限为B

Ift*_*fti 3 ubuntu ssl https nginx

*.domain.com我已经在 Ubuntu 中的两台服务器上使用相同的配置配置了 HTTPS(在 nginx 上) 。一台服务器是api.domain.com,另一台是staging-api.domain.com。我的服务器配置是这样的:

server {
                listen       443  ssl;
                server_name  api.domain.com;
                #root /usr/share/nginx/html;

                ssl on;
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                ssl_prefer_server_ciphers on;
                ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
                ssl_session_cache builtin:1000 shared:SSL:10m;
                ssl_dhparam /etc/ssl/certs/dhparam.pem;
                ssl_certificate /etc/nginx/ssl/star.domain.com/8592215832301494.crt;
                ssl_certificate_key /etc/nginx/ssl/star.domain.com/server.key;
                ssl_trusted_certificate /etc/nginx/ssl/star.domain.com/gd_bundle.pem;
       }
Run Code Online (Sandbox Code Playgroud)

api.domain.com(nginx 版本 1.4.6)在 ssl 测试中获得 A 评级,一切正常。但是staging-api.domain.com(nginx版本1.10.1)是B级。消息是“此服务器的证书链不完整。等级上限为 B。”

这是我的Nginx版本的问题吗?

Ste*_*ich 5

这不是nginx版本的问题,而是配置的问题。服务器证书和所有需要的链证书都必须包含在由设置的文件中,ssl_certificate并且它们的顺序也必须正确。

有关更多信息,请参阅nginx 文档中的SSL 证书链。

  • 您可以在 https://whatsmychaincert.com/?staging-api.domain.com 检查链。它还具有一个“生成链”按钮,用于创建一个包含您的证书和中间证书的文件,您可以下载该文件并将其添加到您的 Web 服务器配置中。 (2认同)