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

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

  • Tomcat6 это имя пользователя Tomcat запускается как
  • Расположение файла конфигурации tomcat: /usr/share/tomcat6/bin/catalina.sh

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

4 ответа

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

AUTHBIND=yes

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

Есть два разных способа сделать это, не затрагивая конфиг 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 (это хорошо, поскольку он может фактически кешировать запросы и ускорять соединения для вас)

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

Запустите службы tomcat, используя authbind, это позволит пользователю запускать порты менее 1024, нам не нужно перенаправлять или iptables.

apt-get установить authbind -y

Для установки программного обеспечения Authbind

chmod -R 755 /etc/authbind

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

chown -Rh root: группа / etc / authbind

После этого выполните следующие команды

cd /etc/authbind/byuid

В качестве примера, давайте представим, что идентификатор пользователя равен 2000, вы можете использовать свой номер идентификатора пользователя.

echo '0.0.0.0/0:1,1023' > 2000

Этот файл должен принадлежать пользователю и группе.

chown: 2000

CHMOD 700 2000

Добавьте следующую строку в файл запуска tomcat $CATALINA_BASE/startup.sh

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

Для запуска tomcat используется служба Authbind startup.sh

Комментарий ниже строки

#$CATALINA_HOME/bin/startup.sh

Добавить этот конец как конец файла

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

$AUTHBIND_COMMAND $CATALINA_HOME/bin/startup.sh   

теперь вы должны иметь возможность запускать сервисы Tomcat как пользователь с менее чем 1024 портами.

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