【问题标题】:Why am I getting my Tomcat's welcome page when I try to open any other web page? [closed]当我尝试打开任何其他网页时,为什么会出现 Tomcat 的欢迎页面? [关闭]
【发布时间】:2012-10-19 00:45:05
【问题描述】:

美好的一天,我正在我的服务器上的 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

请指教。提前谢谢了。沃杰科技

已编辑:

所以我发现当我删除以下行时它开始工作。有人可以解释一下这条线到底是做什么的,这样我就可以在打开例如 Google 网页时看到我的 Tomcat 的欢迎页面?

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

【问题讨论】:

  • 如果您刷新 iptables(已将现有配置保存在某处),其他网页是否可以正常工作?
  • 是的,在我刷新 iptables 并如上所示配置它们之前,其他网页运行良好。

标签: tomcat iptables netfilter


【解决方案1】:

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

供参考:

【讨论】:

    猜你喜欢
    • 2021-10-04
    • 2013-11-03
    • 2013-03-16
    • 2015-03-10
    • 1970-01-01
    • 2017-03-20
    • 2016-11-13
    • 1970-01-01
    • 2019-11-04
    相关资源
    最近更新 更多