如何将流量从端口 80 重定向到端口 8080

如何将流量从端口 80 重定向到端口 8080

目前,在本地系统中,端口 8080 上有 Apache Tomcat,端口 80 上有 Apache 2。我无法同时启动这两个服务器。我们需要停止 apache2 才能让 tomcat 在本地主机中运行。我应该怎么做才能将端口 80 的流量引导到端口 8080,以便我可以在本地主机中同时使用这两个服务器。

答案1

即使这不能解决你的实际问题(在同一台服务器上运行 Apache 和 Tomcat),你也可以使用以下命令重定向端口

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

答案2

我认为您不需要任何重定向。可以编辑 server.xml 来创建 2 个连接器....

鳐。

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" 
           URIEncoding="UTF-8" />
<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" 
           URIEncoding="UTF-8" />

答案3

以下是可用于执行此操作的 iptables 规则的示例:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

但是,它无法解决两个服务都尝试侦听端口 80 的问题,也无法根据用户的意图将端口 80 上的请求重定向到任何服务器。它只是重定向(所有入站 eth0 TCP 端口 80)流量。

答案4

另外,我认为您可以使用 Apache2 作为反向代理来访问 Tomcat。

相关内容