ubuntu nginx>此服务器的证书链不完整,等级上限为B

dkqlctbz  于 2023-10-17  发布在  Nginx
关注(0)|答案(2)|浏览(132)

我已经在Ubuntu中的两台服务器的*.domain.com上配置了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;
       }

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

jm81lzqq

jm81lzqq1#

这不是nginx版本的问题,而是它的配置问题。服务器证书和所有需要的链证书都必须包含在ssl_certificate设置的文件中,并且它们的顺序必须正确。
有关更多信息,请参阅nginx文档中的SSL证书链。

nfeuvbwi

nfeuvbwi2#

Nginx文档中对cert和key的描述是这样的:

ssl_certificate     www.example.com.chained.crt;
ssl_certificate_key www.example.com.key;

但这些名称与当前的letsencrypt.org SSL文件不对应。
对于那些你想指定这些文件:

ssl_certificate      /path/fullchain.pem;
ssl_certificate_key     /path/privkey.pem;

然后,当你用https://www.ssllabs.com/ssltest/这样的网站测试你的SSL配置时,你会赢得A级的整体评级。这让人放心:)

相关问题