服务器的证书与主机名在同一台服务器上的多个域不匹配

我有3个网站在一台服务器上,只有一个网站使用SSL。 我购买,configuration和安装了一个GoDaddy证书,并且在所有浏览器(Chrome,FF,Safari,IE)上都正常工作,Opera除了发出我的问题中所述的警告外。 当我点击详细信息时,显示的主机名是在服务器上运行的其他网站之一。

我已经在这里读了一些关于它的文章,尤其是关于SNI的文章,但是我不能真正理解我要做什么,如果这很容易解决的话。 我正在用Apache2运行一个Debian Lenny,一切都是最新的。

您需要在安装了SSL证书的网站/域上使用专用IP。 因此,例如,如果您在服务器上托pipe了3个域,则可以为您的两个未具有SSL证书的虚拟主机共享一个IP,但是具有SSL证书的虚拟主机仅需要为此域专用的第二个IP。 如果将来您将SSL证书添加到其他两个域之一,那么您将需要另一个IP等。

永远记住,对于SSL,您需要每个域的专用IP。

你应该问你的主机提供商分配一个额外的IP到你的服务器,更新你的虚拟主机configuration和DNSlogging的SSL启用域,你会没事的。

有办法解决1:1的IP:主机限制。

每个SSL主机有1个IP的经验法则的原因是,当浏览器通过SSL对Apache等web服务器进行的初始连接encryption时。 由于这种encryption,Apache不可能知道你想要访问的虚拟主机,因为Host:头目前是encryption的。 因此,Apache将在其虚拟主机configuration中仅从第一台SSL主机提供证书。

如果您正在进行公共虚拟主机,那么在虚拟主机configuration中命名的第一个SSL证书在所有情况下实际上都是正确的,但是如果您正在Apache实例上提供有限数量的主机,那么您可能会将所有这些主机添加到UCC(多主机)证书。 在这种情况下,证书将匹配所有的主机,所以你不会得到警告。

我不确定这是否适合您的情况,但是我在一些服务器上的域数量非常有限的地方运行,并且运行良好。