我主持了几个网站,从我们的客户。其中一些有ssl证书,因此使用端口443进行https,还有一些没有证书。
拥有这样一个证书的站点被配置为自动将http重定向到https。如果我访问一个没有自己证书的站点,首先加载的vhost文件中的一个将被服务,这在我的例子中是我自己的主页。
我现在想知道是否有可能让apache将ssl请求重定向到没有自己证书的站点到非ssl,这样就不会发出“不受信任的证书”警告。
示例:
当我请求https://domain3.com时,我会收到不可信的警告,因为domain1.com的证书是服务的,这当然不包含domain3.com作为主名称或替代名称。
而不是那样,我想重定向到http://domain3.com
我已经尝试了以下配置,它在访问domain3.com时给出了一个SSL错误
<VirtualHost MyIp:443>
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>我不知道我的方法是否朝着正确的方向发展,或者我的目标是否可以实现。所以我愿意接受各种帮助。谢谢。
发布于 2015-12-27 07:04:10
如果没有有效的证书,这是不可能的。
使用https时,TLS/SSL协商首先进行,然后再进行任何内容(包括重定向)。因此,在重定向回http之前,您需要建立一个安全连接(使用证书)。
如果有任何解决办法,那么这将是https中的一个主要安全漏洞,因为攻击者可以将任何请求降级到http。
https://serverfault.com/questions/742572
复制相似问题