我使用配置了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
答案 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