如何使用iptables命令将https重定向到http

时间:2016-11-28 08:44:03

标签: firewall iptables openwrt captivenetwork captiveportal

在我的OpenWrt路由器上运行了一个名为nodogsplash的强制网络门户。当预先验证的用户访问http网址时,浏览器将弹出网页潜在客户进行身份验证。但是当用户访问https网址时,没有任何事情发生。

我希望浏览器始终弹出验证网页,同时访问http和https网址。

我尝试了以下命令,但只处理了http请求。当我访问https域名时,它不会重定向到192.168.88.210。

iptables -t nat -I PREROUTING -p tcp -m multiport --dport 80,443 -j DNAT --to-destination 192.168.88.210:80
iptables -t nat -I POSTROUTING -p tcp -m multiport --dport 80,443 -j MASQUERADE

我读了github discussion,但仍然不知道如何解决这个问题。有人可以用iptables帮我吗?

1 个答案:

答案 0 :(得分:1)

使用iptables无法解决此问题。使用您的方法,浏览器将使用常规http连接到期望SSL客户端的https服务器。这是不可能的。您需要在端口80 http上运行简单的HTTP Web服务器,并执行Location header重定向到https URL。