J'ai démarré et testé Tomcat sous le port 8080 (par défaut). Maintenant, j'ai modifié le port du connecteur à 80 et redémarré Tomcat, rien ne s'affiche sur mon installation minimale de Debian 6.0. Maintenant, où est le truc ici?
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
allez dans/etc/default/Tomcat6 et changez #AUTHBIND=no
en AUTHBIND=yes
# If you run Tomcat on port numbers that are all higher than 1023, then you
# do not need authbind. It is used for binding Tomcat to lower port numbers.
# NOTE: authbind works only with IPv4. Do not enable it when using IPv6.
# (yes/no, default: no)
#AUTHBIND=no
Deux raisons typiques:
root
)Avez-vous démarré Tomcat sur le port 80 en tant que root? Vous devez être root pour lier les ports <= 1024 sous Linux.
Si rien de ce qui a été commenté auparavant ne fonctionne (comme cela m’est arrivé), vous pouvez diriger le trafic depuis le port 80
vers le 8080
.
Pour le faire:
http://forum.slicehost.com/index.php?p=/discussion/2497/iptables-redirect-port-80-to-port-8080/p1
En un mot, tapez ces trois commandes dans un terminal:
$ Sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
$ Sudo iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
$ Sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Exécutez votre script de démarrage en tant que root après avoir modifié la liaison.
Sudo ./<path to Tomcat bin director>/startup.sh
Vous pouvez utiliser authbind/privbind ou des fonctionnalités pour vous connecter au port 80.
arrêtez le service Apache, puis exécutez Tomcat, vous devriez être bon. Par défaut, Apache est exécuté sur le port 80.