我有一个LAMP服务器,在80和HTTPS网站上有443个站点。在尝试启动Apache时,我收到了这些错误:
[Tue Jun 05 13:15:36.179316 2018] [ssl:emerg] [pid 3100] AH02572: Failed to configure at least one certificate and key for blah.site.us:80
[Tue Jun 05 13:15:36.179386 2018] [ssl:emerg] [pid 3100] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[Tue Jun 05 13:15:36.179391 2018] [ssl:emerg] [pid 3100] AH02312: Fatal error initialising mod_ssl, exiting.
AH00016: Configuration Failed
它试图找到一个不应该使用SSL的网站的证书/密钥对(即,如果这是我的443个网站之一并且找不到密钥,则此错误会有意义,但它不应该'甚至为80个站点寻找证书/密钥。
Apache被告知应该尝试将SSL应用于此站点?我的ssl.conf中有“Listen 443 https”,我的虚拟主机看起来像:
<VirtualHost *:80>
ServerName some.example.com
DocumentRoot /correctpath
</VirtualHost>
<VirtualHost *:443>
ServerName secured.example.com
DocumentRoot /correctpath
SSLEngine on
SSLCertificateFile /correctpath
SSLCertificateKeyFile /correctpath
</VirtualHost>
答案 0 :(得分:0)
这最终是由于有一些vhost对,http网站的*:80 vhost和相应的*:443 vhosts,用于将https重定向到http的同一网站。我添加了#34; SSLEngine off&#34;到*:443重定向虚拟机,SSL mod停止寻找匹配的*:80站点的证书/密钥。 (删除*:443重定向主机也可以运行并允许Apache启动,但之后该重定向也消失了。)