我将机器上 80 端口的流量重定向到 8080 端口
sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080
除了我自己的机器之外,它在全世界都运行良好。我是一名开发人员,我需要将端口 80 重定向到 8080。
我的 IP 是192.168.0.111
我的 Web 服务器在端口 8080 上运行
我希望从其他机器打开网站,http://192.168.0.111/
而不是http://192.168.0.111:8080/
从运行服务器的同一台机器打开。
答案1
您需要使用OUTPUT
链条作为数据包回送接口不通过PREROUTING
链传递。以下应该可以工作;运行如下root
:
iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080
答案2
简单来说,只需使用 iptables 允许端口 80 和 8080,然后将 80 重定向到 8080,确保您分配给正确的网卡。例如,我使用 eth0
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
答案3
这对我有用。
$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
答案4
我一直在努力尝试将端口从 8080 转发到 80,但我找不到正确的解决方案,但这对我来说很有效https://askubuntu.com/a/579540/1611784
iptables -t nat -A OUTPUT -o lo -p tcp --dport 8080 -j REDIRECT --to-port 80