当使用一个Node.JS应用程序从端口80路由到不同端口上的应用程序时,是否需要打开所有使用的端口?

当使用一个Node.JS应用程序从端口80路由到不同端口上的应用程序时,是否需要打开所有使用的端口?,node.js,redirect,express,ubuntu-12.04,portforwarding,Node.js,Redirect,Express,Ubuntu 12.04,Portforwarding,我正在使用Ubuntu12.04LTS,64位服务器,我使用以下命令将端口80上的所有http请求发送到端口8080 命令: cat /proc/sys/net/ipv4/ip_forward #returns 1 sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 sudo iptables -A INPUT -p tcp -m tcp --sport 80 -j ACC

我正在使用Ubuntu12.04LTS,64位服务器,我使用以下命令将端口80上的所有http请求发送到端口8080

命令:

cat /proc/sys/net/ipv4/ip_forward #returns 1
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
从那里,我想使用代理将基于(子)域的请求代理到其他一些端口(即9000、3000、9615)。我在完成这项工作时遇到了一些问题,曾经在AmazonAWS上的VPS上做对了,这些端口在那里打开


因此,我想问的是,是否有必要打开每个端口,以及如何在命令行上做到这一点?

经过进一步的研究和实验,我得出结论,只需要打开我们用作入口点的端口。如果我们随后使用代理甚至NAT配置将其路由到另一个端口,则后者将仅用于“侦听”