首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx安装中间证书

Nginx安装中间证书
EN

Stack Overflow用户
提问于 2014-09-10 01:49:40
回答 2查看 29.9K关注 0票数 20

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

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

另外,如果中间层安装失败,我可以回滚到以前的证书,并重新启动nginx吗?(网站是实时的,所以我不能有太长的停机时间)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-10 23:51:52

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

代码语言:javascript
复制
-----BEGIN CERTIFICATE-----
MII...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII...
-----END CERTIFICATE-----

为了确保一切正常并避免停机,我建议你在本地安装Nginx,在/etc/hosts中添加127.0.0.1 yourdomain.com,然后尝试从主要浏览器打开它。当您验证所有内容都是正确的时,您可以将其复制到生产服务器。

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

编辑

正如@Martin指出的,证书在文件中的顺序很重要。适用于TLS1.1状态的RFC 4346

这是X.509v3证书的序列(链)。发件人的证书必须放在列表的第一位。下面的每个证书都必须直接证明它前面的一个证书。

因此,顺序是:

    1. Your域的certificate

    1. Vendor's中间证书,用于认证(1)

    1. Vendor's中间证书,用于认证(2)

  • ...
  • n.供应商的根证书(n-1)。可选,因为它应该包含在客户端的CA存储中。
票数 43
EN

Stack Overflow用户

发布于 2022-02-03 03:19:49

Letsencrypt:fullchain.pem

我也有同样的麻烦。我使用的是Letsencrypt,在我的Nginx配置中,我不需要使用这个:

代码语言:javascript
复制
ssl_certificate      /etc/letsencrypt/live/domain.tld/cert.pem;
ssl_certificate_key   /etc/letsencrypt/live/domain.tld/privkey.pem;

但请使用以下命令:

代码语言:javascript
复制
ssl_certificate      /etc/letsencrypt/live/domain.tld/fullchain.pem;
ssl_certificate_key   /etc/letsencrypt/live/domain.tld/privkey.pem;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25750890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档