Nginx安装中间证书

时间:2014-09-09 17:49:40

标签: ssl nginx certificate

我试图在Nginx上安装中间证书(laravel forge)。 现在证书已正确安装,只是缺少的中间件。

我已经看到我需要将当前证书与中间证书连接起来。添加中间证书的最佳/最安全的方法是什么。

另外,如果安装中间版失败了,我可以回滚到以前的证书,然后重新启动nginx吗? (该网站网站已上线,因此停机时间过长)

1 个答案:

答案 0 :(得分:32)

Nginx期望您使用server引用的文件中的所有ssl_certificate部分证书。只需将所有供应商的中间证书和您的域名证书放在一个文件中即可。它看起来像这样。

-----BEGIN CERTIFICATE-----
MII...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII...
-----END CERTIFICATE-----

为了确保一切正常并避免停机,我建议您在本地设置Nginx,将127.0.0.1 yourdomain.com添加到/etc/hosts,然后尝试从主要浏览器打开它。当您确认一切正确后,您可以将其复制到生产服务器。

当您完成后,最好使用一些SSL检查工具进行验证(例如this one)。由于预安装的CA证书可能因浏览器和平台而异,因此您可以轻松忽略来自一个操作系统或一组有限浏览器的错误配置检查。

修改

正如@Martin指出的那样,文件中的证书顺序很重要。 TLS 1.1的RFC 4346声明:

  

这是X.509v3证书的序列(链)。发件人     证书必须在列表中排在第一位。以下各项     证书必须直接证明其前面的证书。

因此订单是:

  • 1。您的域名证书
  • 2。认证(1)
  • 的供应商中间证书
  • 3。供应商的中间证书,证明(2)
  • ...
  • ñ。证明(n-1)的供应商的根证书。可选,因为它应包含在客户端的CA存储中。