我从我们的客户主持几个网站。 其中一些有SSL证书,因此使用https端口443和一些没有证书。
具有这样的证书的网站被configuration为自动将httpredirect到https。 如果我访问其中一个没有自己的证书的网站,那么首先装载的虚拟主机文件中的虚拟主机文件将被提供,这是我自己的主页。
我现在想知道是否有可能有ApacheredirectSSL请求到没有自己的证书到非SSL的网站,所以它不会给出“不受信任的证书”警告。
例:
当我请求https://domain3.com时,我得到了不可信的警告,因为domain1.com的证书被提供,当然不包含domain3.com作为主要或替代名称。
相反,我想要redirect到http://domain3.com
我已经试过的是以下configuration,当访问domain3.com时,给我一个SSL错误
<VirtualHost MyIp:443> RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </VirtualHost>
我不确定我的方法是否朝着正确的方向发展,或者我的目标是否可以实现。 所以我愿意接受各种帮助。 谢谢。
没有有效的证书,这是不可能的。
在https发生任何内容(包括redirect) 之前,首先发生TLS / SSL协商。 所以你需要build立一个安全的连接(使用证书),然后才能redirect回http。
如果有任何解决方法,那么这将是https中的一个主要安全漏洞,因为攻击者可以将任何请求降级到http。