我的任务是将网站的 SSL 证书从一台服务器转移到另一台服务器。我对此一无所知,但读到如果两台服务器上的所有内容都相同,那么我应该能够复制一些文件。否则我必须重新生成一些东西。
原始服务器是运行 apache 的 CentOs 机器,上面有几个网站。新服务器是 CentOs VM,也在另一台机器上运行 apache。该网站拥有整个新 VM,他们不与任何人共享。因此,不同之处在于他们的 html 文件的位置。在旧机器上,他们的网站位于他们的用户名下,而在新 VM 上,他们直接位于 /var/www/html 下。在传输这些证书文件时,这会产生什么影响吗?
每个网站都有自己的 SSL 证书吗?还是服务器有一个涵盖所有网站的证书?如果是这样,如果我将文件复制到新机器上,是否会以某种方式弄乱旧机器上其他网站的 SSL?
答案1
这取决于它是否是 UCC 证书。确定的最佳方法是查看 Apache 配置中的“SSLCertificateFile”,看看它是否指向同一个证书。
如果没有,则它们有单独的证书 - 并且很可能还有单独的 IP 地址。这也是虚拟机的要求,并且需要修改配置以反映这一点。
答案2
以下是对我有用的方法:查看 SSL 配置文件以确定 SSLCertificateFile 和 SSLCertificateKeyFile 的位置
nano /etc/httpd/conf.d/ssl.conf
证书可能依赖于中间文件 (.crt),该文件可能位于同一目录中。将所有 (私有) .key 文件和 crt 文件复制到第二台服务器上的同一位置。
确保复制文件的权限与原始服务器上的权限相匹配
更新 ssl.conf 中的 SSLCertificateFile 和 SSLCertificateKeyFile 以匹配原始服务器
测试 Apache 配置
/usr/sbin/apachectl configtest
重启 Apache
/usr/sbin/apachectl graceful