![OpenWRT 根据请求的域/端口对重定向流量](https://linux22.com/image/56809/OpenWRT%20%E6%A0%B9%E6%8D%AE%E8%AF%B7%E6%B1%82%E7%9A%84%E5%9F%9F%2F%E7%AB%AF%E5%8F%A3%E5%AF%B9%E9%87%8D%E5%AE%9A%E5%90%91%E6%B5%81%E9%87%8F.png)
如果我们有一个 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 站点上映射任何安全内容(该站点仅应进行重定向)可以提高安全性。