![如何将流量从端口 80 重定向到端口 8080](https://linux22.com/image/802662/%E5%A6%82%E4%BD%95%E5%B0%86%E6%B5%81%E9%87%8F%E4%BB%8E%E7%AB%AF%E5%8F%A3%2080%20%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E7%AB%AF%E5%8F%A3%208080.png)
目前,在本地系统中,端口 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。