2011-03-29 42 views
3

当具有多个域名指向同一服务器。但是您只有这些域中的一个域的证书,是否可以阻止Apache中的其他域。但只有在使用HTTPS时不使用HTTP时。HTTPS块域

我试着使用了NameVirtualHost设置为443端口。但是当没有找到域时,Apache只是默认为第一个虚拟主机。我希望它拒绝连接。通过这种方式直接通过HTTPS在其中一个不支持的域上连接时,连接会被拒绝,而不会因为身份错误而导致浏览器显示警告屏幕。

有什么想法?

回答

2

不可能的。 这是一个鸡和蛋的问题 - 验证浏览器连接,并试图验证证书/通用名和给定的URL的HTTPS连接。与端口443的第一次握手/连接必须加密。

来处理这个问题。将设置专用IP地址的所有域的唯一办法 - 或者至少使用HTTPS的域。

0

这是很不理想的,但另一种选择是使用一个非标准您的HTTPS网站,而不是在服务器侦听端口443

+0

你的意思是非标准的端口?这不会远非理想,这是不可接受的。使用非标准端口提供的有效证书为完美有效的网站提供服务似乎是可疑的。这将打破使用SSL的想法。 – 2011-08-30 09:58:13

+0

@Dave:SSL用于加密以及证明你是谁,我不确定你的用例是什么。我使用非标准的HTTPS端口来加密'shellinabox',同时仍然在端口443上运行一个网站,所以它仍然是一个有效的答案,如果不是你自己的话。 – paradroid 2011-08-30 12:26:06

+0

@paradriod:我看不出一个非标准的端口上建立一个虚拟主机使用SSL或不改变的Apache的行为。如果请求的域未明确绑定到虚拟主机,则第一个虚拟主机仍将弹出。因此,即使在非标准端口上,用户仍然会得到证书错误。请说明这个答案如何解决问题?或者你打算混淆,以便用户不太可能遇到问题? – 2011-08-31 08:18:57