糟糕,找不到“ server.host.name:0”的RSA或DSA服务器证书吗?


18

我正在设置一个新的Web服务器,该服务器使用Apache 2.2.22在Ubuntu 12.4上托管十二个虚拟主机,每个站点一个配置文件。我一次创建了所有配置文件,然后运行a2ensite *以一次全部启用它们。当我重新加载配置失败时,重新启动apache后,我在error.log中发现以下错误消息:

糟糕,找不到“ server.host.name:0”的RSA或DSA服务器证书?

此错误消息的大多数结果都存在很长时间,不能解决问题,或者是已修复的错误https://issues.apache.org/bugzilla/show_bug.cgi?id=31709

Answers:



4

问题最终出在另一个地方在与错误中列出的主机配置文件中。这是由于两个文件中有重复的ServerName值。我修错了一个,然后又开始备份(再见那半小时):-)。

为了解决此问题,我禁用了所有站点,然后一次启用了几个站点,直到再次遇到问题。


1

如果您使用的证书具有多个主题备用名称,但该ServerName指令与证书的CN或SAN值不匹配,则也可能会收到此错误。在开发人员想要同一生产站点的开发版本的情况下,通常是IT情况,但是开发站点没有真正的证书。

示例网站:
webserver.example.com
webserver-dev.example.com

证书:
CN =
primaryserver.example.com SANs = webserver.example.com,puppies.example.com,kittens.example.com

以下配置将导致此错误:
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enabled/webserver-dev.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver-dev.example.com ...

以下配置解决了此问题:
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost webserver-dev.example.com:443> ServerName webserver.example.com ...


0

FWIW,我只是以另一种说法再次遇到了这个问题。

如果使用通配符SSL证书,请确保在其他任何内容(foo.domain.com,bar.domain.com等)之前列出域(domain.com)的VirtualHost条目。

我尝试了一次一次的配置,其他一切运行良好,直到我重新添加了这个文件。

然后我细想一下,配置文件名按字母顺序比具有“主域定义”的配置文件低。更改了符号链接,以便将其放置在主要定义之后,并且所有内容都像魅力一样工作。

示例失败列表顺序:

foo.domain.conf
prim.domain.conf
something.domain.conf

工作示例清单:

prim.domain.conf
something.domain.conf
zfoo.domain.conf

HTH其他人:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.