我试图安装我们的服务器,以允许通过SSL流量。我知道,SSL不名称虚拟主机的工作,但我们有我们所有的Apache服务器上用专用的私有地址的虚拟机。我们有具有mod_proxy的设置将通信路由到适当的虚拟机的主虚拟机。

然而,为了航线HTTPS流量,我们需要安装在代理服务器以及虚拟机的证书。我们可以在我们所有的主机可以使用通配符证书。一切似乎都正常工作,但我收到以下在Apache日志代理:

[警告]初始化:SSL服务器IP /端口冲突:host1.domain.com:443(启用位点-的/ etc / apache2的/ /主机1:1)对host2.domain.com:443(在/ etc / apache2的/网站启用/主机2:1)

有对于我们对代理设置每个主机这些错误消息中的一个。我们对代理虚拟主机设置在下面贴:

<VirtualHost ipaddress:443>
    ServerName host1.domain.com
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / https://privateip:443/
    ProxyPassReverse / https://privateip:443/

    SSLProxyEngine on
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/server.crt
    SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>

有什么办法,我能得到这个工作?

有帮助吗?

解决方案

这听起来像Apache警告你,你有相同的IP地址和端口的多个<VirtualHost>节......只要得到它没有警告的工作,我想你需要使用类似的服务器名称指示(SNI ),识别所述主机名的请求的方式作为SSL握手的一部分。基本上,它可以让你做基于域名的虚拟主机通过SSL,但我不知道它是如何深受浏览器支持。除了像SNI,你基本上限于一个启用了SSL的域名为你暴露在公网上的每个IP地址。

当然,如果你能正确地访问网站,你可能会被罚款无视警告。这些特别的一些不很严重 - 他们主要是要寻找什么,在你遇到问题的指示

其他提示

据我所知,Apache支持SNI因为2.2.12版 不幸的是文档尚未反映这种变化。

去为 http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI 直到即完成

您可以是能够取代:

VirtualHost ipaddress:443

VirtualHost *:443

您可能需要待办事项这在所有的virt主机。

它可能清理该消息。让有关路由的消息请求ServerName指令担心。

同样,你可能不能够,如果你有多个IP的别名在同一台机器做到这一点。

在虚拟主机是这样的:

NameVirtualHost IP_Address:443

<VirtualHost IP_Address:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt    # Where "ca" is the name of the Certificate
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    ServerAdmin webmaster@domain_name.com
    DocumentRoot /var/www/html
    ServerName www.domain_name.com
    ErrorLog logs/www.domain_name.com-error_log
    CustomLog logs/www.domain_name.com-access_log common
</VirtualHost>

Apache不支持基于名称的虚拟主机上SSL,仅在基于IP的虚拟主机。

来源:Apache 2.2的SSL FAQ问题为什么不能够使用基于名称的虚拟主机,以确定不同的SSL虚拟主机?

与SSL,TLS规范允许基于域名的主机(SNI由别人提到),但是Apache还不支持此功能。它理应将在将来的版本针对OpenSSL的0.9.8时编译。

此外, mod_gnutls 声称支持SNI,但我从来没有真正尝试过。

首先,你需要了NameVirtualHost IP:在你443的配置文件! 你可能有一个80末,但你也将需要一个443。

第二你需要一个*。域证书(通配符)(它能够使一个)

第三就可以使仅something.domain腹板在一个IP(因为证书的)

必须添加下面部分以使得能够与给定的IP NameVirtualHost功能。

NameVirtualHost IP_Address:443
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top