Я пытаюсь изменить порт Tomcat на 80 в Ubuntu 14.04 через эту конфигурацию [conf/server.xml]:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
кому:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
И я получаю эту ошибку:
13-Oct-2015 18:09:10.626 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-80"]
java.net.SocketException: Permission denied
Что я делаю неправильно? Или что отсутствует?
Спасибо...
Чтобы управлять Котом на порте ниже 1024 в Ubuntu/Unix, для обслуживания нужны привилегии корня. И это Вы не хотите.
Использование переназначение порта через iptables
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Начните услуги кота, используя authbind, это позволит пользователю начинать порты меньше чем 1 024, мы не должны перенаправлять или iptables.
sudo Кв. - добирается, устанавливают authbind-y
, Чтобы установить программное обеспечение Authbind
, группа sudo chmod-R 755/etc/authbind
должна быть группой пользователей.
sudo chown-Rh root:group/etc/authbind
После того пробега ниже команд
cd/etc/authbind/byuid
Как пример позволяет imagne идентификатору пользователя, 2000, Вы можете использовать свой идентификатор пользователя номер
sudo, повторяют '0.0.0.0/0:1,1023'> 2000
, Что файл должен быть собственным пользователем и группой.
показанный sudo: 2000
sudo chmod 700 2000
Добавляет ниже линии в $CATALINA_BASE/startup.sh файла запуска кота
export JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
Для Стартового использования кота, обслуживание startup.sh
Authbind Комментарий ниже линии
#$CATALINA_HOME/bin/startup.sh
Добавляет Этот Конец как конец файла
AUTHBIND_COMMAND="/usr/bin/authbind --deep /bin/bash -c "
$AUTHBIND_COMMAND $CATALINA_HOME/bin/startup.sh
теперь, Вам необходимо начать услуги кота как, пользователь с меньше этим 1 024 порта.