it-swarm.com.de

Warum arbeitet Tomcat mit Port 8080, aber nicht mit 80?

Ich habe Tomcat unter Port 8080 gestartet und getestet (Standardeinstellung). Jetzt habe ich den Connector-Port auf 80 geändert und Tomcat neu gestartet. Auf meiner minimalen Debian 6.0-Installation wird nichts angezeigt. Wo ist hier der Trick?

<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443" />
17
Dominik

gehen Sie zu/etc/default/Tomcat6 und ändern Sie #AUTHBIND=no in 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
31
Dominik

Zwei typische Gründe:

  • Möglicherweise haben Sie möglicherweise keine Berechtigung zum Abhören eines Ports unter 1024 (normalerweise sind Administratorrechte erforderlich, z. B. root).
  • Auf Port 80 (z. B. Apache) ist möglicherweise bereits etwas anderes zu hören.
11
Jon Skeet

Haben Sie Tomcat an Port 80 als root gestartet? Sie müssen root sein, um in Linux an Ports <= 1024 zu binden. 

9
rooftop

Wenn nichts von dem zuvor kommentierten funktioniert (wie es mir passiert ist), können Sie den Verkehr vom Port 80 zum 8080 leiten.

Es zu tun:

http://forum.slicehost.com/index.php?p=/discussion/2497/iptables-redirect-port-80-to-port-8080/p1

Kurz gesagt, geben Sie diese drei Befehle in ein Terminal ein:

$ 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 
8
Jesus

Führen Sie Ihr Startskript als root aus, nachdem Sie die Bindung geändert haben.

Sudo ./<path to Tomcat bin director>/startup.sh
2

Sie können authbind/privbind oder Funktionen verwenden, um an Port 80 zu binden.

0
user1462586

beenden Sie den Apache-Dienst, und führen Sie dann Tomcat aus. In diesem Fall sollte Apache auf Port 80 ausgeführt werden 

0
Satya