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" />
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
Zwei typische Gründe:
root
).Haben Sie Tomcat an Port 80 als root gestartet? Sie müssen root sein, um in Linux an Ports <= 1024 zu binden.
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
Führen Sie Ihr Startskript als root aus, nachdem Sie die Bindung geändert haben.
Sudo ./<path to Tomcat bin director>/startup.sh
Sie können authbind/privbind oder Funktionen verwenden, um an Port 80 zu binden.
beenden Sie den Apache-Dienst, und führen Sie dann Tomcat aus. In diesem Fall sollte Apache auf Port 80 ausgeführt werden