我第一次使用 SSL 设置 nginx 服务器。我购买了 SSL 证书,并完成了生成 csr 的所有操作。我已激活 SSL 购买并最终下载了证书。
当我下载证书时,我得到了一个 zip 文件夹。该 zip 文件夹中包含 3 个文件; my_site.ca-bundle 、 my_site.crt 和 my_site.p7b 。
我知道如何配置 nginx,但我不知道下载中包含的 ca-bundle 和 p7b 文件的意义。
对于 nginx 配置,我只需要一个 crt 文件和我生成 CSR 时的密钥:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.chained.crt;
ssl_certificate_key www.example.com.key;
...
}
ca-bundle 和 p7b 文件重要吗,或者 crt 文件是我唯一需要的?
答案1
http://nginx.org/en/docs/http/configuring_https_servers.html
某些浏览器可能会对知名证书颁发机构签署的证书产生抱怨,而其他浏览器可能会毫无问题地接受该证书。发生这种情况的原因是,颁发机构使用中间证书签署了服务器证书,而该中间证书并不存在于与特定浏览器一起分发的知名可信证书颁发机构的证书库中。在这种情况下,颁发机构提供了一组链式证书,这些证书应与已签名的服务器证书串联起来。在组合文件中,服务器证书必须出现在链式证书之前:
$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt
由于您的 SSL 供应商为您提供了 CA 包,因此您可能需要它。将您的.crt
和.ca-bundle
文件合并为一个文件,将其放在服务器上并指向ssl_certificate
它。
您应该是唯一拥有该ssl_certificate_key
文件的人 - 您很可能在制作 CSR 时生成了它。
忽略.p7b
,我相信它是用于 IIS 的。