如果我们有一个 OpenWRT 路由器,如果用户请求基于域名的纯 HTTP 网站,我们是否有一个将用户流量重定向到 HTTPS 的解决方案?
示例:如果流量希望为:
http://unix.stackexchange.com/
然后它会被重定向到
https://unix.stackexchange.com/
我们必须为此使用代理吗?是否没有任何 iptables 魔法可用于将给定域重定向到 HTTPS - 保留原始 HTTPS“GET”或“POST”等请求?
答案1
这通常由 Web 服务器本身完成。 Web 服务器将侦听 HTTP 和 HTTPS 请求。使用重写规则,HTTP 请求将被重写为 HTTPS 请求,并作为重定向发送回请求者。这通常是 301(永久移动)重定向。
您不能使用 iptables 来执行所需的重定向。
某些代理可能能够将请求从 HTTP 代理到 HTTPS,但这会破坏 HTTPS 提供的安全性。
可能有一些简单的进程只执行可用于执行重定向的重定向,但我认为与让 Web 服务器执行重定向相比没有任何优势。
某些 Web 服务器可以配置为将 HTTP 和 HTTPS 站点视为单独的实体。通过不在 HTTP 站点上映射任何安全内容(该站点仅应进行重定向)可以提高安全性。