【发布时间】:2017-05-07 07:19:32
【问题描述】:
我用 puppet 安装了 tomcat。它在标准 8080 端口上运行。 tomcat 进程以 tomcat 用户身份启动。我想将所有流量从端口 80 重定向到 8080。我的 iptables 设置如下所示:
纳特:
# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere multiport dports http /* 099 forward port 80 to 8080 */ redir ports 8080
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
标准 iptables:
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere /* 000 accept all icmp */
ACCEPT all -- anywhere anywhere /* 001 accept all to lo interface */
REJECT all -- anywhere loopback/8 /* 002 reject local traffic not on loopback interface */ reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere /* 003 accept related established rules */ state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere multiport dports ssh /* 004 accept ssh */
ACCEPT tcp -- anywhere anywhere multiport dports http,https /* 100 allow http and https access */
DROP all -- anywhere anywhere /* 999 drop all */
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
我看到netstat显示tomcat进程正在监听8080端口:
# netstat -tulpn | grep 80
tcp6 0 0 :::8080 :::* LISTEN 16273/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 16273/java
tcp6 0 0 :::8009 :::* LISTEN 16273/java
你的 80 端口上似乎没有任何东西在监听。 telnet 到那台机器的 80 端口和 8080 拥抱。
如何将所有流量从 80 转发到 8080?
【问题讨论】: