端口 80 到 443 的全局重定向

fli*_*fly 1 https redirect shell-scripting apache-2.2

我想设置我的 linux box,以便任何访问端口 80 的东西都会被告知询问 443 端口。我希望它与域、IP 或任何可能存在的特定细节无关。如果可以请求端口 80,则应该告诉它不。我们在 443 上这样做。

我将在 443 上使用 Apache,因此可以很容易地将其绑定到 80,但不要认为解决方案必须在端口 80 上包含 Apache。

需要明确的是,我正在寻找一种无需更改虚拟主机的解决方案。我了解可以通过继承传递的全局重定向。这需要更改 vhost。我正在寻找更全面、更不容易出现“哎呀,我忘了那条线,现在端口 80 暴露了我的未加密数据”的东西。

你会如何着手解决这个问题?iptables、apache、带有 netcat 的自定义 shell 脚本和一些使其成为 SSL 的魔法?

sgt*_*ano 8

尝试将其添加到您的 httpd.conf 中;

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Run Code Online (Sandbox Code Playgroud)

从这里 - > http://www.sslshopper.com/apache-redirect-http-to-https.html

这使用了 mod_rewrite,因此请确保您事先安装了它。

推荐的方法是按照您的说明在每个站点的 VHOST 文件中进行设置,如下所述;

http://wiki.apache.org/httpd/RedirectSSL

但是,Apache wiki 确实更详细地记录了上述重写方法;

http://wiki.apache.org/httpd/RewriteHTTPToHTTPS