GNU/Linux >> Linux Esercitazione >  >> Linux

Perché Tomcat funziona con la porta 8080 ma non con la 80?

Due ragioni tipiche:

  • Probabilmente non hai il permesso di ascoltare una porta inferiore a 1024 (di solito richiede privilegi amministrativi, ad esempio essere root )
  • Qualcos'altro potrebbe già essere in ascolto sulla porta 80 (ad esempio apache)

vai su /etc/default/tomcat6 e cambia #AUTHBIND=no a 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

Se nulla di quanto commentato prima funziona (come è successo a me), puoi indirizzare il traffico dalla porta 80 al 8080 .

Per farlo:

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

In poche parole, digita questi tre comandi in un terminale:

$ 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 

Linux
  1. Linux – Perché Setuid non funziona??

  2. Linux:perché Locale Es_mx funziona ma non Es?

  3. Perché questo "durante la lettura" funziona in un terminale, ma non in uno script di shell?

  4. Perché `esce &` non funziona?

  5. Perché la modifica di javascript negli Strumenti per sviluppatori di Chrome non funziona?

Il comando Rm nello script Bash non funziona con la variabile?

Perché `zip` in un ciclo For funziona quando il file esiste, ma non quando non lo è?

Perché find -exec mv {} ./target/ + non funziona?

Tomcat in esecuzione, ma la porta 8080 non risponde

Tomcat si avvia senza errori ma non è in ascolto su 8080

Come uccidere un client telnet con rlwrap poiché ^] non funziona?