Почему Tomcat работает с портом 8080, но не 80? - программирование
Подтвердить что ты не робот

Почему Tomcat работает с портом 8080, но не 80?

Я начал и протестировал Tomcat под портом 8080 (по умолчанию). Теперь я изменил порт разъема на 80 и перезапустил Tomcat, ничто не покажет мою минимальную установку Debian 6.0. Теперь, где трюк здесь?

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

Ответ 1

перейдите в /etc/default/tomcat 6 и измените #AUTHBIND=no на 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

Ответ 2

Две типичные причины:

  • Возможно, у вас нет разрешения слушать порт ниже 1024 (обычно для этого требуются административные привилегии, например root)
  • Что-то еще может случиться на порту 80 (например, apache)

Ответ 3

Вы запустили Tomcat на порту 80 как root? Вы должны быть root для привязки к портам <= 1024 в Linux.

Ответ 4

Если ничего из комментариев перед работами (как это случилось со мной), вы можете направлять трафик с порта 80 на 8080.

Для этого:

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

В двух словах введите три команды в терминале:

$ 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 

Ответ 5

Запустите свой запуск script как root после изменения привязки.

sudo ./<path to tomcat bin director>/startup.sh

Ответ 6

остановить службу apache, а затем запустить tomcat, вам должно быть хорошо, по умолчанию apache работает на порту 80

Ответ 7

Вы можете использовать authbind/privbind или возможности для привязки к порту 80.