我已设法在 nginx 下使 SSL 在我的网站上运行(至少我是这么认为的!)。但是,我尝试通过 GTMetrix 运行它(以检查新的速度),似乎出了问题。我与他们的支持人员进行了交谈,他们说:
您的 SSL 证书未正确安装。缺少中间/链证书。
因此,我回到了服务器的原始(Apache)配置,果然发现了这行额外的内容:
SSLCACertificateFile /etc/httpd/ssl.crt/wildcard.site.net.icrt
我已经进行了一些谷歌搜索,但我对它如何与 nginx 配合使用有点困惑。我发现的所有内容都告诉我您需要使用:
ssl on;
ssl_certificate /etc/ssl/your_domain_name.pem; (or bundle.crt)
ssl_certificate_key /etc/ssl/your_domain_name.key;
(这就是我所拥有的)
有人能指点一下吗?
更新:我看得越多,就越确信我已经做对了:
如何将 SSL 证书从 Apache 服务器传输到 NGINX 服务器
然而,当我在 sslshopper.com 上运行检查时,我得到:
答案1
您需要将域证书和捆绑证书合并到一个文件中,并将其引用为 ssl_certificate,例如:$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt referhttp://nginx.org/en/docs/http/configuring_https_servers.html#chains
答案2
Nginx 需要 ssl_certificate 文件中的任何链证书后服务器证书。请参阅http://nginx.org/en/docs/http/configuring_https_servers.html#chains。
在相关问题上方便找到链接无法让 Nginx 提供正确的证书链尽管在那个问题中,实际问题有所不同。