将SSL证书移至新服务器

我将SSL crt和密钥从一台服务器移到一台新服务器上。 旧的是一个cPanel盒子,新的只是一个LAMP Ubuntu盒子。 我一直在教程和说明几个小时没有得到任何地方。 我创build了一个在443上监听的VirtualHost文件。所有非https页面都工作,只要我去https页面,它就给我一个拒绝的连接。 我尝试使用digicert.com/help报告“没有find证书”。 我如何解决这个问题?

如果您得到连接拒绝错误,则该框不在端口443上进行侦听,或者防火墙正在阻止端口。 你可以使用netstat -an | grep :443 netstat -an | grep :443 (在那个盒子里)看它是否正在收听。

在443上侦听的VirtualHost应该有一个如下所示的块:

  SSLEngine on SSLCertificateFile /etc/pki/tls/certs/www.example.com.crt SSLCertificateKeyFile /etc/pki/tls/private/www.example.com-key SSLCertificateChainFile /etc/pki/tls/certs/startssl.intermediate.bundle.pem SSLCACertificateFile /etc/pki/tls/certs/startssl-ca.pem 

您可以将旧服务器中的证书和密钥文件复制到新的服务器上,并根据需要调整configuration文件中的path。

我在那里有一些与我正在使用的证书颁发机构有关的线路。 特别是,我用SSLCertificateChainFile行指定了中间证书。 你可能需要做一些与你的CA中的文件类似的东西(查看CA文档中的特定文件)。

一旦到位,重新加载apache。 如果有问题,请检查/var/log/httpd/error.log。 确保权限是正确的,即,Apache用户可以读取上述文件,并且私钥不能被他人访问。

只是听443是不够的。 你需要告诉Apache要使用什么证书。 如果你可以检索你的服务器的旧的,你只需要configurationApache来使用它。

这在apache.org上有很好的logging。