Can';t从本地网络访问Tomcat服务器

Can';t从本地网络访问Tomcat服务器,tomcat,virtualbox,Tomcat,Virtualbox,我有一台运行在CentOS6虚拟机上的Tomcat 7服务器(桥接网络模式,我们可以说IP是1.2.3.4),我正在尝试(但无法)从主机访问它。我可以从VM访问资源test(包含“Hello,world!”)并使用 # wget 1.2.3.4:8080/test/ …结果很好。如果我从主机尝试相同的命令,要么失败(连接被拒绝),要么连接,然后抛出一个错误 Read error (Connection reset by peer) in headers. Retrying. 它将再试一次或两

我有一台运行在CentOS6虚拟机上的Tomcat 7服务器(桥接网络模式,我们可以说IP是
1.2.3.4
),我正在尝试(但无法)从主机访问它。我可以从VM访问资源
test
(包含“Hello,world!”)并使用

# wget 1.2.3.4:8080/test/
…结果很好。如果我从主机尝试相同的命令,要么失败(连接被拒绝),要么连接,然后抛出一个错误

Read error (Connection reset by peer) in headers.
Retrying.
它将再试一次或两次,最后一次是“拒绝连接”

当连接被拒绝时,访问日志中不会显示任何内容。当我收到读取错误时,请求将显示在访问日志中,响应代码为200。我得到的反应是断断续续地来回切换

这是server.xml中8080的连接器:

<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
是否有我丢失的服务器配置,或可能导致响应不一致的内容

...and it comes down fine. If I try the same command from the host, either it fails 
(connection refused), or it connects and then spits out a ...
它看起来像防火墙,iptables有这样的功能:允许少数数据包通过,即使它们被禁用(应该被过滤掉)

我建议在VM中使用tcpdump进行观察,哪个真正的源ip用于请求 与tcpdump-n-ibr0端口8080类似


可能是您的主机iptable规则或路由表在处理您的请求

我无法找到问题的真正原因-我关闭了VM和主机,重新启动了两者,重新启动了Tomcat,然后能够从主机上访问
1.2.3.4:8080/test/

我确实把问题缩小到了主机(我想):我试着启动一个不同的虚拟机,并看到相同的行为试图从主机到达Tomcat服务器。但是,自重新启动后,我的主机iptable规则似乎没有更改


更新:第二天返回问题中描述的相同行为。我从使用桥接网络适配器切换到eth0上的NAT,以及eth1上具有静态IP的纯主机网络。现在一切都运行顺利(对iptables没有进一步的更改)。

即使数据包被禁用,也只允许少数数据包通过-这是有意的吗(即,必须有规则规定应该发生这种情况),或者你的意思是,尽管防火墙设置为阻止某些数据包,但它们仍然可以通过?@Michelle second one-有些数据包可以通过,尽管防火墙设置为阻止它们。观察到,通过为我自己阻塞22端口(一次或几次),并设法将其取回(通过密钥授权使用ssh)。有几秒钟的时间做点什么。在它阻塞之后(正如它应该的那样),需要等待一段时间才能重复。只要确保您自己,使用tcpdump或任何东西,所有数据包都来自您期望的IP。如果ips正常,那么iptables就不是问题了,我猜错了,如果我猜到了,那么你就有你的尾巴了。)@Michelle啊,我明白了,你解决了这个问题,另一个已经不存在的秘密。无论如何,在这种情况下,最好看到两端都检查交通。
...and it comes down fine. If I try the same command from the host, either it fails 
(connection refused), or it connects and then spits out a ...