具有多个虚拟主机的Apache。 SSL仅适用于其中一个

时间:2011-05-09 16:18:56

标签: ssl apache2 virtualhost

我使用配置了VirtualHosts的Apache 2运行多个网站。他们都可以自己工作(例如www.domain1.com,www.domain2.com,www.domain3.com)。

其中一个VHost需要通过HTTPS运行,因此使用通配符域(* .domain1.com)进行SSL设置,但似乎SSL端口也对其他2个域开放:例如,我可以访问https://www.domain2.com。问题是显然浏览器发出警告,因为请求的域与证书上的域不匹配。

我想要做的是完全停止此行为并阻止访问https到domain2.com和domain3.com。据我所知,由于实际的协议,在接受证书并开始对标题进行decyphering之前,你无法获得ServerName,但有没有人设法解决这个问题?

谢谢!

rafrafUk

1 个答案:

答案 0 :(得分:1)

我猜解决方案是每个SSL网站都有一个独特的IP地址..

一个用于SSL vhost的ip(即:88.244.63.215)

http:// domain1.com:80 https:// domain1.com:443 https:// foo.domain1.com:443

其他虚拟主机的另一个ip(即:88.241.131.152)

http:// domain2.com:80 http:// domain3.com:80