如何在没有证书的情况下将Apache SNI主机重定向到http地址?

时间:2013-04-15 14:03:57

标签: apache http ssl https sni

我有一个带有多个命名主机的apache服务器,所有这些都适用于端口80 http流量。 (具有一个唯一IP地址的VPS)

我有一个拥有SSL证书的域,并且该域配置为同时处理http和https流量。

但是,如果有人意外地将https添加到无SSL配置的URL的开头,我会收到典型的证书警告错误(预期),然后如果用户接受错误(取决于浏览器),则会显示我已配置的SSL站点而不是原来的非ssl域。

我已经阅读了一些关于SNI的信息,但是我没有其他每个域的证书,而且除了一个特定域或者重定向到http之外,服务器不会响应SSL请求。该网站的版本。

建议我如何处理这个问题。

亲切的问候,斯宾塞

1 个答案:

答案 0 :(得分:0)

出于安全考虑,您尝试实现的目标无效。

浏览器(实现检查证书的机制)无法知道用户是否意外或故意键入https://而不是http://。由于最终由用户在他们认为需要时检查https://是否被使用,因此浏览器应该只执行用户请求的操作。

https://http://的重定向应始终以有效的https://连接开头。如果您没有初始连接的有效证书,SNI对您没有多大帮助。

否则,浏览器认为可能存在MITM攻击是公平的。明确地(或使用HSTS)键入https://是针对像SSLstrip这样的MITM工具的唯一可靠机制,否则它将能够降级(或阻止从http://升级到https://)。