我在Debian 8上有Apache2.4,很少有HTTP仅基于名称的虚拟主机,而且(目前)只有一个HTTPS虚拟主机由我们加密证书签名。此时,安全的虚拟主机运行良好,但如果我使用https://
访问其他非安全虚拟主机,就会得到安全虚拟主机的内容。有没有办法(在本例中)对HTTP进行一些重定向,或者避免加载受保护的虚拟主机站点的内容?
发布于 2017-04-27 07:48:46
当然,可以通过以下方法将https重定向到http:
<VirtualHost *:443>
ServerName www.example.com
ServerAlias example.com
SSLEngine on
# All other SSL settings, just like in your working TLS VirtualHost.
Redirect / http://www.example.com/
</VirtualHost>
你只需要明白:
Host:
头中的主机名与您的证书(即NET::ERR_CERT_COMMON_NAME_INVALID
)不匹配。当然这是你已经得到的东西。http://
或https://
,只有www.example.com
,这在默认情况下是用http://
完成的。(实际上,有些用户甚至不知道地址栏,而是使用谷歌搜索,然后选择第一个结果。)我宁愿创建一个具有默认页面的所有捕获的虚拟主机,解释没有为该域配置TLS
站点。通过使用在apache2/sites-enabled
上获得第一个文件名的文件名(如001-tls
),并使用<VirtualHost _default_:443>
,确保这在工作的虚拟主机之前出现。
发布于 2017-04-27 05:41:26
你在自相矛盾。您不能使用" https“访问非安全的虚拟主机,https默认情况下意味着端口443,在所有情况下都是SSL虚拟主机,但在很少的情况下,您将始终在SSL虚拟主机/S中登陆。
https://serverfault.com/questions/846778
复制相似问题