2017-08-05 3 views
1

Cette question est unique à Tomcat 8.5 d'autres réponses sont pour 7 et ne fonctionnent pas comme décritComment exécuter tomcat 8.5 sur le port 80/supprimer 8080. tomcat 8.5.16, CentOS 7minimal installer, hébergement 24

Tout d'abord, je étudie tomcat docs, et des questions en ligne depuis 20 heures maintenant. J'ai construit mon serveur à partir de zéro environ dix fois pour apprendre le processus et essayer d'obtenir un guide clair pour obtenir un serveur opérationnel pour l'exécution de plusieurs applications Web de démarrage au printemps.

Je ne peux pas actuellement faire fonctionner Tomcat sur le port 80, donc pas de "8080" à la fin du nom de domaine. Il fonctionne sur le port 8080 bien.

"netstat -lnp grep 80" me montre ceci:

enterProto Recv-Q Send-Q Local Address   Foreign Address   
State  PID/Program name 
tcp  0  0 0.0.0.0:3306   0.0.0.0:*    
LISTEN  449/mysqld 
tcp  0  0 0.0.0.0:111    0.0.0.0:*    
LISTEN  1/init 
tcp  0  0 0.0.0.0:22    0.0.0.0:*    
LISTEN  143/sshd 
tcp6  0  0 :::8001     :::*      
LISTEN  139/httpd 
tcp6  0  0 127.0.0.1:8005   :::*      
LISTEN  281/java 
tcp6  0  0 :::8009     :::*      
LISTEN  281/java 
tcp6  0  0 :::21     :::*      
LISTEN  147/vsftpd 
tcp6  0  0 :::22     :::*      
LISTEN 

donc rien en utilisant le port 80. état systemctl tomcat.service = en cours d'exécution

pare-feu cmd --list-all publique cible (active) : défaut ICMP-bloc-inversion: aucun interfaces: venet0 sources: services: ssh dhcpv6-client ports: 8001/TCP 80/tcp 20/tcp protocoles: Mascarade: pas avant-ports: sourceports: icmp-blocs: règles riches:

port ouvert sur la zone publique.

La méthode que je suis en train en ce moment est de changer le port dans le tomcat/conf/server.xml

ici est où j'ai changé il:

{<Connector port="80" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" /> 
} 

nmap et en ligne Les outils disent que le port est fermé mais je crois que c'est parce qu'il n'y a rien d'utiliser le port. Juste ce que j'ai lu donc ne sais pas à coup sûr.

De plus, il n'y a pas de règles dans iptables donc aucun autre port ne bloque.

La page Web affichée indique « Ce site ne peut pas être atteint »

Toute aide serait grandement apprécié comme je l'ai passer 20 bonnes heures à étudier les configurations de serveur et je suis toujours dérouté quant à la façon de vérifier vraiment pourquoi cela ne fonctionne pas mais pourquoi cela fonctionne sur le port 8080.

J'essaye d'exécuter plusieurs webapps par Tomcat. Je prévois d'ajouter les détails de l'hôte au bas du server.xml que j'ai fait avec succès sur le port 8080 mais pas sur le même port 80 que ci-dessus.

Ceci est une question similaire aux précédentes, mais les réponses ne fonctionnent pas, je les ai toutes essayées.

+0

Je recommande fortement de ne pas lancer Tomcat sur le port 80 et d'utiliser à la place un proxy inverse comme Apache ou Nginx. Les proxys inverses sont très courants pour ce type de déploiement https://www.nginx.com/resources/admin-guide/reverse-proxy/ – spuder

+0

Copie possible de [Tomcat Webapp sur le port 80] (https://stackoverflow.com/ questions/16326707/tomcat-webapp-on-port-80) – spuder

+0

Ce n'est pas un doublon car les autres options n'ont pas fonctionné. Pourquoi devrais-je utiliser Apache quand je n'en ai pas besoin? J'ai lu il y a des façons de le faire juste courir Tomcat? C'est ce que j'essaie de faire. Je veux économiser des ressources pour exécuter des applications de grande entreprise avec une charge minimale tout en conservant la sécurité. Je ne vais pas commencer avec nginx comme httpd de la recherche est une meilleure performance. S'il vous plaît élaborer et ne fournir une réponse qui fonctionne que j'ai essayé plus de 20 tutoriels sans succès. – danbdex

Répondre

1

Vous devez activer AUTHBIND sur Linux pour laisser Tomcat utiliser un port privilégié comme le 80, alors réglez AUTHBIND=yes dans le fichier /etc/default/tomcat8.

Une autre solution pourrait être, en utilisant le port par défaut (80) et de rediriger toutes les requêtes du port 80 vers le port 8080 avec iptables de cette façon:

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT 
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 
+0

il n'y a pas de fichier tomcat8 dans/etc/default /? J'ai des fichiers nss et useradd – danbdex

+0

Jetez un oeil à ce guide: https://blog.webhosting.net/how-to-get-tomcat-running-on-centos-7-2-using-privileged-ports-1024/ – aleroot

+0

Merci, c'est prometteur car c'est quelque chose que je n'ai pas encore essayé Mais j'ai besoin d'aller travailler maintenant donc je vais essayer dès que je serai de retour. Je vais vous faire savoir comment ça se passe :) – danbdex

0

Centos7 installation minimale peut avoir SELinux activé pour que vous devra exécuter la commande suivante dans un shell surélevé:

setsebool httpd_can_network_connect true -P