从 Apache VirtualHost 将 HTTPS 永久重定向到 HTTP
Posted
技术标签:
【中文标题】从 Apache VirtualHost 将 HTTPS 永久重定向到 HTTP【英文标题】:Redirect HTTPS to HTTP permanently, from Apache VirtualHost 【发布时间】:2016-09-06 10:09:25 【问题描述】:关于将 HTTP 重定向到 HTTPS 有很多问题,如下所示:
<VirtualHost *:80>
ServerName www.example.com
Redirect / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here
</VirtualHost>
但我需要做相反的事情,从 HTTPS 到 HTTP,可能不使用 mod_rewrite。那可能吗?
Apache版本:服务器版本:Apache/2.4.7 (Ubuntu)
我试过了,但它不起作用:
<VirtualHost _default_:443>
ServerName example.com
ServerAlias *.example.com
Redirect "/" "http://example.com/"
</VirtualHost>
【问题讨论】:
你运行的是哪个 apache 版本? @dusan.bajic 服务器版本:Apache/2.4.7 (Ubuntu) Recommended way to to redirect HTTP requests to HTTPS的可能重复 如果您查看 error_log,我敢打赌您会看到类似[error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
的内容。这是因为没有 SSL 断言。
【参考方案1】:
这是对我有用的代码。
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/example.com
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
RewriteEngine on
RewriteRule ^ http://%SERVER_NAME%REQUEST_URI [END,QSA,R=permanent]
</VirtualHost>
【讨论】:
不确定为什么这个答案被否决了?而不是问题下的cmets,这是这里唯一的答案,它至少试图不忽略问题是关于将https重定向到http而不是颠倒!网络上发生了什么?试图“某人”强迫我们所有人使用证书和 https??不是每个网站都需要这个!但是,是的,对,有些东西要付出代价。再次!以上是关于从 Apache VirtualHost 将 HTTPS 永久重定向到 HTTP的主要内容,如果未能解决你的问题,请参考以下文章