Por que o Tomcat6 não se liga à porta 80?

Por que o Tomcat6 não se liga à porta 80?

Estou ciente das implicações de executar o Tomcat na porta 80, mas estou procurando uma solução rápida. Estou tentando seguir issotutorial. Segui o tutorial com duas alterações:

  • tomcat6 é o nome de usuário tomcat é executado como
  • A localização do arquivo conf do Tomcat:/usr/share/tomcat6/bin/catalina.sh

Mas ainda estou recebendo erros de permissão. Java está dizendo que não consegue vincular à porta 80. O que mais devo fazer? Que outras informações devo fornecer para as pessoas depurarem? Só para confirmar, não há mais nada rodando na porta 80

Responder1

Você pode alterar a propriedade AUTOBIND /etc/default/tomcat6para "sim" da seguinte maneira:

AUTHBIND=yes

Reinicie o seu Tomcat e isso permitirá que você use a porta privilegiada disponível (1-1023).

Responder2

Existem duas maneiras diferentes de fazer isso sem realmente tocar na configuração do Tomcat.

Você pode criar um script iptables que redirecione o tráfego da porta 80 para a porta 8080 (então você não precisa mexer nas configurações do Tomcat)

para tabelas de ip

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 80 faria o truque! (faça um script para que seja feito automaticamente no uppstart

ou você pode criar um proxy reverso Apache que realmente faça proxy das conexões com o seu servidor Tomcat por meio dele (isso é bom, pois ele pode realmente armazenar solicitações em cache e acelerar as conexões para você)

Responder3

No conector HTTP do Tomcat, certifique-se de que seu conector na porta 80 esteja vinculado a TODAS as interfaces ou 0.0.0.0 , em vez de apenas 127.1 . Isso pode explicar por que você não consegue se conectar a um URL como http://10.0.0.2:80 mas você pode com http://127.1:80

Responder4

Inicie os serviços Tomcat usando authbind, isso permitirá ao usuário iniciar portas menores que 1024, não precisamos redirecionar ou iptables.

apt-get instalar authbind -y

Para instalar o software Authbind

chmod -R 755 /etc/authbind

grupo deve ser grupo de usuários.

chown -Rh root:group /etc/authbind

Depois disso execute os comandos abaixo

cd /etc/authbind/byuid

Como exemplo, vamos imaginar que o ID do usuário é 2.000, você pode usar o número do seu ID de usuário

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

Esse arquivo deve pertencer ao usuário e ao grupo.

chown: 2000

mod 700 2000

Adicione a linha abaixo no arquivo de inicialização do Tomcat $CATALINA_BASE/startup.sh

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

Para iniciar o Tomcat usando o serviço Authbind startup.sh

Comente a linha abaixo

#$CATALINA_HOME/bin/startup.sh

Adicione este final como o final do arquivo

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

$AUTHBIND_COMMAND $CATALINA_HOME/bin/startup.sh   

agora você deve poder iniciar os serviços do Tomcat como usuário com menos de 1.024 portas.

informação relacionada