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에 도달하지 않습니다.
방화벽은 연결이 해제되었다고 주장하여 연결을 방해하지 않습니다.
$firewall-cmd --state
not running
누락 된 다른 방화벽 설정이 있습니까?
CentOS의 버전은 무엇입니까? 서비스 iptables 상태를 실행하면 어떻게됩니까?
—
Anthony Fornito
나머지 iptables 규칙을 추가했습니다. Mi 버전은 CentOS Linux 릴리스 7.2.1511 (코어)입니다. 서비스 iptables 상태를 호출하면 iptables가 활성으로 표시됩니다.
—
Jared Rox
방화벽을 비활성화하려고 했습니까? 이렇게하면 문제를 좁힐 수 있습니다.
—
Vikelidis Kostas
방화벽 포트가 열려 있고 서비스가 수신 대기 중입니다. 그러나 연결하려고하면 어떻게됩니까?
—
Michael Hampton