Problème de pare-feu lors du déploiement de Tomcat chez CentOS


10

J'essaie de déployer un serveur Tomcat dans un environnement CentOS, mais il ne reçoit pas de demandes.

L'exécution de startup.sh fonctionne correctement et les journaux indiquent que tomcat est en cours d'exécution

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

Lors de l'exécution de netstat pour vérifier les ports d'écoute, il apparaît comme écoutant

$netstat -atnp|grep LISTEN

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3321/java

Afin d'ignorer le pare-feu, j'ai ajouté une règle personnalisée à 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

J'ai ajouté la règle en haut afin d'éviter l'erreur de l'ajouter après le rejet général. Iptables est actif car le service renvoie les éléments suivants:

$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

Cependant, les requêtes n'atteignent pas Tomcat, car les journaux d'accès à l'hôte local sont vides.

Firewalld n'interfère pas avec la connexion car il prétend être désactivé:

$firewall-cmd --state
not running

Y a-t-il d'autres paramètres de pare-feu qui me manquent?


Quelle version de CentOS? Que se passe-t-il si vous exécutez le statut iptables du service?
Anthony Fornito

J'ai ajouté le reste des règles iptables. La version Mi est la version CentOS Linux 7.2.1511 (Core). L'appel du service iptables indique qu'iptables est actif.
Jared Rox

Avez-vous essayé de désactiver le pare-feu? Faites cela pour pouvoir réduire le problème.
Vikelidis Kostas

OK, donc le port du pare-feu est ouvert et le service écoute. Mais que se passe-t-il lorsque vous essayez de vous y connecter?
Michael Hampton

Réponses:


10

Je pense que ce qui se passe ici, c'est que vous mélangez vos technologies.

Essayer:

service iptables s'arrête

Vous voyez toujours la même réponse

Si vous le faites, vous devez supprimer iptables ou firewalld

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.