我们有一个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任何证书,你就完成了。
将ServerName exampleWithoutHttps.com的VirtualHost *:443放置在ServerName exampleWithoutHttps.com VirtualHost *:443之前。 我的意思是把它放在Apache的configuration文件中的第一个文本。 这确保用户不会看到来自exampleWithHttps的内容。
我想转发用户从https:// exampleWithoutHttps到http:// exampleWithoutHttps在没有https的所有域上。
为了做redirect,你需要先build立一个https连接。 您无法使用有效证书等设置https连接
所以要回答这个问题,你不能这样做。 那么,不能以满足大多数对安全有任何顾虑的人的方式。