我正在尝试在CentOS环境中部署Tomcat服务器,但是它没有收到请求。
执行startup.sh可以正常工作,并且日志显示tomcat正在运行
16-Dec-2016 13:36:58.440 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]
16-Dec-2016 13:36:58.444 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009]
16-Dec-2016 13:36:58.445 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 14803 ms
运行netstat检查侦听端口时,它显示为侦听
$netstat -atnp|grep LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 3321/java
为了跳过防火墙,我在iptables上添加了自定义规则。
$iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:50060
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:50030
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:50105
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:50090
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:50075
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:50070
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:123
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
我在顶部添加了该规则,以避免在普遍拒绝之后添加该规则的错误。由于服务返回以下内容,因此iptables处于活动状态:
$service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2016-12-16 13:09:47 EST; 1h 45min ago
Main PID: 728 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/iptables.service
但是,请求未到达Tomcat,因为localhost访问日志为空。
Firewalld不会干扰连接,因为它声称已被禁用:
$firewall-cmd --state
not running
我还缺少其他防火墙设置吗?
什么版本的CentOS?如果您运行service iptables status会怎样?
—
安东尼·佛尼托
我添加了其他iptables规则。Mi版本是CentOS Linux版本7.2.1511(核心)。呼叫服务iptables状态显示iptables为活动状态。
—
贾里德·罗克斯
您是否尝试禁用防火墙?这样做可以缩小问题范围。
—
Vikelidis Kostas
好的,因此防火墙端口已打开,服务正在侦听。但是,当您尝试连接到它时会发生什么?
—
迈克尔·汉普顿