xdtianyu / scripts

scripts for work
https://www.xdty.org
1.03k stars 245 forks source link

SSL Labs 评分时警告“This server's certificate chain is incomplete. Grade capped to B” #57

Open joomlagate opened 6 years ago

joomlagate commented 6 years ago

首先感谢作者 Tianyu,这个工具确实可以顺利地为通过 DNSPOD 解析的域名申请到 LE 证书。

但是,我按照网上某个教程(tianyu 并没有提供证书申请后的其它设置步骤)在 nginx 配置文件中启用了 SSL 之后,然后在 SSL Labs 对网站进行 SSL 强度评分,得到的成绩是 B。 最终报告页面上的警告消息是:

This server's certificate chain is incomplete. Grade capped to B

经过研究发现,我在 nginx 配置文件里面填写的证书路径是:

ssl_certificate /root/certs/对应域名证书文件夹/cert.pem;

如果换成:

ssl_certificate /root/certs/对应域名证书文件夹/fullchain.pem;

其它任何设置都不改动,再次用 SSL Labs 进行评分,这次得到了 A 成绩。

说明我们应该直接使用 fullchain.pem 这个文件作为证书来配置服务器。

但是,我看了一下域名文件夹,le-dns 工具生成的证书文件有10个:

cert-1529388469.csr cert.csr chain-1529388469.pem fullchain-1529388469.pem privkey-1529388469.pem cert-1529388469.pem cert.pem chain.pem fullchain.pem privkey.pem

这么多文件是不是有点眼花缭乱?既然真正配置 nginx 只用到两个文件 fullchain.pem 和 privkey.pem,何必生成其它8个文件呢?干脆只生成这两个就够了,用户也很好辨识。

realpg commented 6 years ago
  1. 用证书的地方又不是只有nginx
  2. 这里面有一堆是符号链接 有一些是真实证书
joomlagate commented 6 years ago

难道配置其它东西,例如 Apache 会用到不同的证书文件,而不是同样的 fullchain.pem 和 privkey.pem 这两个文件?

c9z2 commented 6 years ago

有些都是一些软连,没毛病的