К сожалению, использование authbind в Tomcat не задокументировано, что затрудняет привязку Tomcat 9 к порту 80, если он не запущен с правами root. Я пробовал следующее на Ubuntu 16.04:
1) В server.xml измените порт атрибута на 80 в <Connector>.
2) Установка authbind.
3) Добавление AUTHBIND = yes в setenv.sh
4) Создание файла / etc / authbind / byport / 80 с разрешениями 777 и владельцем tomcat.
Если я сбегу startup.sh
как root работает нормально. Но если я сделаю это как непривилегированный пользователь «tomcat», сценарий отобразит «Tomcat запущен» без сообщения об ошибке. Но браузер показывает «Невозможно подключиться».
Если я сбегу authbind startup.sh
, результат тот же. Отсутствие сообщения об ошибке из сценария запуска оставляет меня в неведении относительно причины проблемы.
Возможно, актуальная информация: tomcat был установлен из zip-файла, а не из репо.
Есть ли что-то еще, что я упускаю из виду в хитростях, чтобы заставить эту работу работать? Этого очень не хватает в официальных документах.
Установка Tomcat из zip-архива в порядке.
Я прошу вас выполнить следующие шаги, чтобы настроить authbind и запустить tomcat на 80, я считаю, что вы установили authbind и tomcat 9.
коснитесь / etc / authbind / byport / 80; chmod 500 / etc / authbind / byport / 80; chown tomcat9 / и т. д. / authbind / byport / 80
* рассмотрение tomcat9 как пользователя без полномочий root для tomcat
CATALINA_OPTS = "- Djava.net.preferIPv4Stack = true"
СТАРОЕ: exec "$ PRGDIR" / "$ EXECUTABLE" start "$ @
НОВИНКА: exec authbind --deep "$ PRGDIR" / "$ EXECUTABLE" start "$ @"
Еще одно решение для запуска tomcat на 80 - использование iptables.
sudo / sbin / iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Пожалуйста, дайте мне знать, если у вас есть какие-либо сомнения или вопросы, с которыми я мог бы помочь.
Спасибо, Нишант
На моем сервере CENTOS 6 и TOMCAT 7 мне пришлось:
yum install authbind-2.1.1-0.x86_64.rpm
touch /etc/authbind/byport/80; chmod 500 /etc/authbind/byport/80; chown tomcat /etc/authbind/byport/80
vim /usr/share/tomcat/conf/server.xml
Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"
vim /etc/init.d/tomcat
TOMCAT_SCRIPT="${TOMCAT_SCRIPT:-/usr/local/bin/authbind -deep /usr/sbin/tomcat}"
service tomcat restart