我在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版本有问题吗?
答案 0 :(得分:2)
这不是nginx版本的问题,而是其配置问题。服务器证书和所有必需的链证书都必须包含在ssl_certificate
设置的文件中,并且它们的顺序也必须正确。
有关详细信息,请参阅nginx文档中的SSL certificate chains。