Почему tomcat6 не связывается с портом 80?

Я знаю о последствиях запуска tomcat на 80-м порту, но мне нужно быстрое решение. Я пытаюсь следовать этому уроку . Я следовал этому уроку с двумя изменениями:

  • tomcat6 - это имя пользователя. Tomcat запускается как
  • . 115] Но я все еще получаю ошибки разрешений. Ява говорит, что не может привязаться к порту 80. Что еще мне делать? Какую другую информацию я должен предоставить людям для отладки? Просто чтобы подтвердить, больше ничего не работает на порту 80

4
задан 26 February 2012 в 08:37

4 ответа

Вы можете изменить свойство AUTOBIND для /etc/default/tomcat6 на «да» следующим образом:

AUTHBIND=yes

Перезапустите ваш кот, и это позволит вам использовать доступный привилегированный порт (1-1023).

0
ответ дан 26 February 2012 в 08:37

Запустите сервисы кота с помощью authbind, это позволит пользователю начальным портам меньше чем 1 024, мы не должны перенаправлять или iptables.

склонный - получают установку authbind-y

Устанавливать программное обеспечение Authbind

chmod-R 755/etc/authbind

группа должна быть группой пользователей.

показанный-Rh root:group/etc/authbind

После того выполнения ниже команд

CD/etc/authbind/byuid

Поскольку пример позволяет imagne идентификатору пользователя, 2000, можно использовать число идентификатора пользователя

повторите '0.0.0.0/0:1,1023'> 2000

Тот файл должен быть собственным пользователем и группой.

показанный: 2000

chmod 700 2000

Добавьте ниже строки в $CATALINA_BASE/startup.sh файла запуска кота

export JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"

Для Стартового использования кота услуги Authbind startup.sh

Прокомментируйте ниже строки

#$CATALINA_HOME/bin/startup.sh

Добавьте Этот Конец как конец файла

AUTHBIND_COMMAND="/usr/bin/authbind --deep /bin/bash -c " 

$AUTHBIND_COMMAND $CATALINA_HOME/bin/startup.sh   

теперь необходимо смочь запустить сервисы кота как пользователь с меньше этим 1 024 порта.

0
ответ дан 26 February 2012 в 08:37

В коннекторе Tomcat HTTP убедитесь, что ваш коннектор на порте 80 привязан ко ВСЕМ интерфейсам, или 0.0.0.0, а не просто к 127.1. Это может объяснить, почему вы не можете соединиться с URL-адресом, таким как http://10.0.0.2:80 , но вы можете с помощью http: //127.1: 80

0
ответ дан 26 February 2012 в 08:37

Есть два разных способа сделать это, не касаясь конфига tomcat.

Вы можете создать скрипт iptables, который перенаправляет трафик с порта 80 на порт 8080 (тогда вам не нужно возиться с настройками tomcat)

для iptables

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 80 выполнит обмануть! (создайте сценарий так, чтобы он выполнялся автоматически при uppstart

, или вы можете создать обратный прокси-сервер Apache, который фактически через него проксирует соединения с вашим tomcatserver (это хорошо, поскольку он может фактически кешировать запросы и ускорять соединения для вас )

0
ответ дан 26 February 2012 в 08:37

Другие вопросы по тегам:

Похожие вопросы: