尝试为Apache2安装新的SSL证书时遇到问题。 我们在80端口上运行正常的stream量,在443上运行SSL。
我修改了httpd.conf ,只重命名/etc/httpd/conf/2009certs/ to /etc/httpd/conf/2010certs/ :
<VirtualHost ServerIP:443> # This parameter already existed as-is SSLEngine on # These are the parameters I changed (already existed w/ diff paths.) SSLCertificateFile /etc/httpd/conf/2010certs/server.crt SSLCertificateKeyFile /etc/httpd/conf/2010certs/server.key SSLCertificateChainFile /etc/httpd/conf/2010certs/intermediate.pem SSLCACertificateFile /etc/httpd/conf/2010certs/gs_root.pem # Other parameters here; ServerAdmin, DocumentRoot, ServerName, ErrorLog, etc.... </VirtualHost>
存在*:80另一个VirtualHost块,但不对该区域进行更改。
用新的证书path保存httpd.conf后,注释掉旧的2009path,并尝试重新启动Apache,我得到/var/log/httpd/error_log , httpd无法启动:
您在标准HTTPS(443)端口上configuration了HTTP(80)!
除证书path之外,没有任何更改,并且在将httpd.conf更改回使用旧证书后,te问题消失。
什么可能导致这个?
问题最终是由于在RSA私钥文件server.key上存在密码短语 – apache启动脚本没有configuration为提供一个。
我不太清楚为什么这会导致上面的错误信息。 我猜测,当Apache读取SSL私钥文件失败,并且无法在443上以HTTPS启动时,apache在端口80上回退到不同的VirtualHostconfiguration。
我有一个类似的问题,但原因是其中一个虚拟主机的域parsing为不同的服务器的IP。