web-dev-qa-db-ja.com

CentOSでTomcatをデプロイする際のファイアウォールの問題

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に到達していません。

Firewalldは無効になっていると主張しているため、接続に干渉していません。

$firewall-cmd --state
not running

不足している他のファイアウォール設定はありますか?

10
Jared Rox

ここで起こっているのは、テクノロジーを混ぜ合わせていることだと思います。

試してみてください:

service iptables stop

あなたはまだ同じ応答を得るのを見てください

その場合は、iptablesまたはfirewalldのいずれかを削除する必要があります

10
Anthony Fornito