当申请到 SSL 证书时,通常会收到以下几个文件(以 AlphaSSL 作为示例):
在 Nginx 中配置 SSL 证书的时候,需要添加一个证书和一个密钥文件。而收到的文件中有三个证书和一个密钥文件,这样就需要对证书进行合并。某些厂商的 rCA 和 mCA 是需要用户自己下载的,一些用户没有下载进行证书的合并,直接把 sCA 和 sKey 添加到 Nginx 中,这样会出现某些浏览器不信任 SSL 证书的问题。可以在 SSL LABS 中 检测服务器上的证书链是否完整,如果证书链不完整,你会看到检测结果中的 Chain issues 一项为 Incomplete,并且呈现黄色。此外,如果在合并证书的时候,把 rCA 也合并在里面,会出现证书链包含不必要锚点的警告,当然浏览器是不会出现警告提示的。
SSL 证书正确的合并方法是把 mCA 合并到 sCA 中。当有多个 mCA 文件时,mCA 从下级到上级(根证书为最上级)依次合并到 sCA 中。在这个过程中,rCA 被视为多余的文件,可以参考 AlphaSSL 官网的说明。
在 DirectAdmin 面板中安装 SSL 证书与在 Nginx 中配置 SSL 证书稍有不同。
上图是 DirectAdmin 面板中 SSL 配置界面的一张截图,sKey 和 sCA 是保存①中的,而 mCA 则是保存在②那里(多个 mCA 依次粘贴在里面即可)。
补充一下 Apache 的证书配置,具体看下面的这张图片。
数量和名称 | 简称 | 其他说明 |
---|---|---|
1 个 RootCA.crt | rCA | 被信任的根证书 |
1 个 IntermediateCA.crt | mCA | 某些厂商有多个中间证书 |
1 个 hub.moe.crt | sCA | 通过CSR签下来的证书 |
1 个 hub.moe.key | sKey | 生成CSR时获得的密钥文件 |
在 Nginx 中配置 SSL 证书的时候,需要添加一个证书和一个密钥文件。而收到的文件中有三个证书和一个密钥文件,这样就需要对证书进行合并。某些厂商的 rCA 和 mCA 是需要用户自己下载的,一些用户没有下载进行证书的合并,直接把 sCA 和 sKey 添加到 Nginx 中,这样会出现某些浏览器不信任 SSL 证书的问题。可以在 SSL LABS 中 检测服务器上的证书链是否完整,如果证书链不完整,你会看到检测结果中的 Chain issues 一项为 Incomplete,并且呈现黄色。此外,如果在合并证书的时候,把 rCA 也合并在里面,会出现证书链包含不必要锚点的警告,当然浏览器是不会出现警告提示的。
SSL 证书正确的合并方法是把 mCA 合并到 sCA 中。当有多个 mCA 文件时,mCA 从下级到上级(根证书为最上级)依次合并到 sCA 中。在这个过程中,rCA 被视为多余的文件,可以参考 AlphaSSL 官网的说明。
Root CA – this root CA certificate does not need to be installed on your webserver.(Roor CA 不需要安装在服务器上)
# 多个 mCA 合并完成的文件(示例) # 证书从上向下依次是:sCA、mCA(下级)、mCA(上级) -----BEGIN CERTIFICATE----- MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEw ...... HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEw ...... HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEw ...... HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE-----以上就是证书完成合并后的文件了,通常称为证书链。
在 DirectAdmin 面板中安装 SSL 证书与在 Nginx 中配置 SSL 证书稍有不同。
上图是 DirectAdmin 面板中 SSL 配置界面的一张截图,sKey 和 sCA 是保存①中的,而 mCA 则是保存在②那里(多个 mCA 依次粘贴在里面即可)。
补充一下 Apache 的证书配置,具体看下面的这张图片。
SSLCertificateKeyFile # sKey 的路径 SSLCertificateFile # sCA 的路径 SSLCertificateChainFile # mCA 的路径 SSLCACertificateFile # rCA 的路径Apache 的证书配置就是这样,官方的配置文件中有示例,而且每个文件都是分开配置的,看起来很明了。当然,如果你的证书有多个 mCA,还是需要对这些 mCA 进行合并的.