将端口 80 重定向到 8080 并使其在本地机器上工作

Max*_*Max 81 iptables port-forwarding

我在我的机器上将端口 80 的流量重定向到 8080

sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080
Run Code Online (Sandbox Code Playgroud)

除了我自己的机器之外,它适用于所有世界。我是一名开发人员,我需要为自己将端口 80 重定向到 8080。

我的IP是 192.168.0.111

我的 Web 服务器在端口 8080 上运行

我希望从运行服务器的同一台机器http://192.168.0.111/而不是打开网站http://192.168.0.111:8080/

hee*_*ayl 98

您需要使用OUTPUT链,因为用于环回接口的数据包不会通过PREROUTING链传递。以下应该工作; 运行为root

iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080
Run Code Online (Sandbox Code Playgroud)

  • 我可以确认这在 ubuntu 18.04 上不起作用 (5认同)
  • 在 Ubuntu 18.10 上对我不起作用 (5认同)
  • 这不起作用,不知道为什么这被投票 (4认同)
  • 80端口需要全局可访问吗?我尝试了你的解决方案,我的端口号 8080 可以访问,但 80 不能访问,因此它不起作用。@heemayl (2认同)

小智 22

简单的只是使用 iptables 允许端口 80 和 8080 然后将 80 重定向到 8080 确保您分配给正确的 nic.. 在示例中我使用 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
Run Code Online (Sandbox Code Playgroud)

  • 保存 iptable 更改之后会很好 ``sudo apt-get install iptables-persistent`` (3认同)

San*_*ari 11

这对我有用。

$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Run Code Online (Sandbox Code Playgroud)


Gre*_*gor 5

而不是iptables,您可以尝试: sudo ssh -gL 80:127.0.0.1:8080 localhost

  • 这是一个选项,但它不完全是我想要的,因为我已经在端口 80 上安装了 Web 服务器。我更愿意使用 iptables 来完成它并保持端口 80 上的 Web 服务器运行。我想我只需要将规则应用于不同的步骤而不是“PREROUTING” (2认同)