![将端口 80 重定向到 8080 并使其在本地机器上运行](https://linux22.com/image/852092/%E5%B0%86%E7%AB%AF%E5%8F%A3%2080%20%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%208080%20%E5%B9%B6%E4%BD%BF%E5%85%B6%E5%9C%A8%E6%9C%AC%E5%9C%B0%E6%9C%BA%E5%99%A8%E4%B8%8A%E8%BF%90%E8%A1%8C.png)
我将机器上 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