当我尝试打开任何其他网页时,为什么要获取Tomcat的欢迎页面?

时间:2012-10-18 08:06:39

标签: tomcat iptables netfilter

美好的一天,我在我的服务器端口8080上运行Tomcat.Tomcat可以从外部访问80端口,也可以从服务器本身访问(我使用iptables重定向端口)。但是,当我尝试在服务器上的Web浏览器中打开任何其他网页(例如http://www.google.com等)时,我将获得Tomcat的欢迎页面。如果我使用IP地址,它也无济于事。我的iptables配置似乎有问题:

# Generated by iptables-save v1.4.7 on Thu Oct 18 08:55:16 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:SSH - [0:0]
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -m state --state INVALID -j DROP 
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j SSH 
-A INPUT -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT 
-A INPUT -j DROP 
-A SSH -s 10.0.0.0/8 -j ACCEPT 
-A SSH -m limit --limit 5/sec --limit-burst 100 -j ACCEPT 
-A SSH -j DROP 
COMMIT
# Completed on Thu Oct 18 08:55:16 2012
# Generated by iptables-save v1.4.7 on Thu Oct 18 08:55:16 2012
*nat
:PREROUTING ACCEPT [810:128855]
:POSTROUTING ACCEPT [41:2705]
:OUTPUT ACCEPT [26:1805]
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 
-A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 
COMMIT
# Completed on Thu Oct 18 08:55:16 2012

请指教。提前谢谢了。 Vojtech

编辑:

所以我发现当我删除以下行时它开始工作。有人可以解释一下这行的确切内容,以便在打开Goog​​le网页时可以看到我的Tomcat欢迎页面吗?

-A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

1 个答案:

答案 0 :(得分:1)

您要问的线路使用协议TCP获取OUTPUT链上的任何数据包,前往目标端口80并将其移至REDIRECT链,这不是您想要的。因为,除非您还使用该规则指定目标IP,否则所有http请求将转到您的Tomcat。当事情来自<本地流程>时,您希望他们转到他们指定的目标IP(google.com等),而不是将它们重定向到您的本地计算机。

供参考:

chains and jumps in netfilter