经常会发生一个 SSL 证书在多个服务器上使用的情况。这对于 Wildcard 或 多域名证书 是相当常见的做法,或者对于使用负载平衡的大型网站,这会将网站负载分配到多个服务器上。即使是基本的 单域名证书 也可以这样使用,只要它安装在多个服务器上。
我们提供的所有 Comodo SSL 证书都授权给无限数量的物理服务器。
本指南说明如何将证书文件从一个 Apache 网页服务器转移到另一个。
从 Apache 服务器导出证书文件与备份所有 SSL 安装所需的必要文件一样简单。
那些文件包括:
- 您的域名证书
- 私钥
- CA 包
找到确切的文件目录的最方便方法是检查您的主 Apache 配置文件中的 < virtualhost > 区域:
- 打开您用于 SSL 的 Apache 配置文件。通常这是一个常见的 .conf 文件(这包括但不限于 httpd.conf、apache2.conf 或 ssl.conf)。
各种操作系统和发行版的 Apache HTTPD 的默认安装布局列在 这里。注意:某些 Apache 实例可能有多个配置文件,但只有其中一个配置文件可以用于 SSL。所有其他拥有 SSL 指令的配置文件必须被注释掉。
- 定位您最初配置 SSL 的 < virtualhost > 区域。可以使用以下命令作为 '搜索' 选项:

- 在 < virtualhost > 区块中,找到以下指令:

- 'SSLCertificateFile' 指令显示您域名证书文件的路径。
示例: SSLCertificateFile /etc/httpd/conf/ssl/certificate.crt - 'SSLCertificateKeyFile' 指向与您的证书文件相关联的私钥文件。
示例: SSLCertificateKeyFile /etc/httpd/conf/key/private.key - 'SSLCertificateChainFile' 指令显示 CA 包或证书授权链文件的位置。
示例: SSLCertificateChainFile /etc/httpd/conf/ssl/bundle.crt
证书链是多个证书,称为中介证书,它们通过相互签署将终端用户证书与证书授权根相连接。链中的最后一个证书(根)应该与浏览器存储中的域名证书的副本相匹配,以便证书被信任。
重要! 'SSLCertificateChainFile' 在 Apache 版本 2.4.8 时变得过时,当时 'SSLCertificateFile' 扩展为也从服务器证书文件加载中介 CA 证书。
注意:在某些 Apache 实例中,可能会有 'SSLCACertificateFile' 指令。
- 'SSLCertificateFile' 指令显示您域名证书文件的路径。
- 复制这些文件,您已准备好进行下一个 Apache 安装。
另一种安全备份和运送证书文件的方法是创建 PFX 备份文件。
PKCS#12 (.pfx) 文件格式包含私钥、域名证书和捆绑在一起的集合作为一个带有密码的备份文件。
要在您的 Apache 网页服务器上创建 PFX 备份文件,请在终端上运行以下命令:
openssl pkcs12 -export -out certificate.pfx -inkey privatekey.key -in certificate.crt -certfile bundle.crt
其中 'certificate.pfx' 是您的 PKCS#12 (.pfx) 备份文件,'privatekey.key' 是与您的证书相关的密钥文件,'certificate.crt' 是您的域名证书,'bundle.crt' 是证书授权链文件。
在下一步中,系统将要求您输入密码:
![]()
重要! 请记住您输入的导出密码,否则您将无法提取 SSL 文件。
注意:导出的 .pfx 文件不仅可以用于在另一个 Apache 实例中导入证书、私钥和包,还可以用于任何其他基于 Windows 或 Java 的系统。
提取证书文件。
- 要从 [*.pfx] 备份中提取文件,请在导入证书的服务器上运行此命令,并输入您的导出密码:
openssl pkcs12 -in certificate.pfx -out certificate.crt -nodes
'certificate.crt' 将包含 PEM 编码的密钥、证书和链。
- 用文本编辑器打开 'certificate.crt' 并在里面找到上述文件。
- 复制私钥文件并将其保存为 'private.key'。
它将如下所示:
-----BEGIN RSA PRIVATE KEY-----
[编码数据]
-----END RSA PRIVATE KEY----- - 复制证书文件并将其保存为 'your_domain_name.crt'。
它将如下所示:
-----BEGIN CERTIFICATE-----
[编码数据]
-----END CERTIFICATE----- - 复制其余的证书并将其保存为 'bundle.crt'。
捆绑将看起来像一个链:
-----BEGIN CERTIFICATE-----
[编码数据]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[编码数据]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[编码数据]
-----END CERTIFICATE----- - 现在您已拥有 SSL 安装所需的所有必要文件。
有关如何为 Apache 网页服务器安装 SSL 证书的详细说明,请参阅我们的 Apache 安装 指南。