apache2 httpsredirect到没有ssl证书的http

我们有一个Apache的服务器,主机的多个域,其中一些有https启用,一些没有。

现在的问题是,如果我访问https:// exampleWithoutHttps我会来https:// exampleWithHttps的内容。

我想转发用户从https:// exampleWithoutHttps到http:// exampleWithoutHttps在没有https的所有域上。 我曾尝试在虚拟主机*:443中创buildredirect规则,但是这会产生以下错误:

服务器应该是SSL感知的,但没有configuration证书

问题是,我不能改变“听443”为“听443 HTTP”,因为这将打破我的主机与SSL启用。

有没有一种方法,我可以没有一个SSL证书redirect?

或者,如果不可能,您可以提出一个替代scheme,以确保https:// exampleWithoutHttps不显示https:// exampleWithHttps的内容。

我的ports.conf

 NameVirtualHost *:80
听80
 NameVirtualHost *:443
听443

mi网站condfig:

<VirtualHost *:80> DocumentRoot /path/to/dr ServerName exampleWithoutHttps.com ServerAlias www.exampleWithoutHttps.com </VirtualHost> <VirtualHost *:443> ServerName exampleWithoutHttps.com ServerAlias www.exampleWithoutHttps.com Redirect permanent / http://www.exampleWithoutHttps.com/ </VirtualHost> 

configuration您的VirtualHost *:443任何证书,你就完成了。

  • 可能只是一个自己为自己生成的自签名证书。 当然用户会看到一个安全警告。 这是预料之中的。 用户特别需要https,其中s代表安全。 例如,您没有持有有效的证书而无需使用https.com,因此您不能给他们安全保护 – 这是正确的,他们被警告。
  • 您也可以从几个供应商处免费获得有效的证书。

ServerName exampleWithoutHttps.comVirtualHost *:443放置在ServerName exampleWithoutHttps.com VirtualHost *:443之前。 我的意思是把它放在Apache的configuration文件中的第一个文本。 这确保用户不会看到来自exampleWithHttps的内容。

我想转发用户从https:// exampleWithoutHttps到http:// exampleWithoutHttps在没有https的所有域上。

为了做redirect,你需要先build立一个https连接。 您无法使用有效证书等设置https连接

所以要回答这个问题,你不能这样做。 那么,不能以满足大多数对安全有任何顾虑的人的方式。