Tomcat Solr expira

2

(Servidor Plesk 10.4 centos 5.8 linux apache2, com Tomcat5 na porta 8080 e Apache Solr)

Recebo "A conexão expirou" ao solicitar domain.com:8080 ou www.domain.com:8080 ou ip.ad.dr.ess: 8080

Todos os motivos pelos quais isso pode ser possível parecem não ser o caso:

  • O Plesk acha que o Tomcat está funcionando bem e o lista como um ativo serviço.
  • Atualmente, o firewall tem uma regra para aceitar todas as permissões na porta 8080.
  • Não há nada relevante nos logs do tomcat catalina (/ var / log / tomcat5) - apenas algumas coisas da última vez que tomcat foi iniciado. Não há registro de todas as solicitações que falharam.
  • netstat -lnp | grep 8080 dá o seguinte, que eu acredito significa que o Tomcat está escutando solicitações para a porta 8080 em todos os endereços IP de qualquer ip e qualquer porta (corrija-me se estiver errado):

:

tcp     0      0 0.0.0.0:8080       0.0.0.0:*     LISTEN      4018/java

Isso cobre todas as causas desse tempo que eu posso encontrar - então devo estar perdendo algo fundamental.

Parece que o Tomcat está em execução, ouvindo a porta certa, obtendo um endereço IP apropriado, não está obstruído por um firewall e não está falhando depois de receber uma solicitação de maneira a ser registrada nos registros (por isso acredito não pode estar sem memória ou algo assim).

Estou completamente sem ideias sobre como continuar a depurar isso. Eu devo ter esquecido algo óbvio. Alguém pode ajudar?

    
por user568458 07.04.2012 / 19:37

1 resposta

2

Bem, acontece que existem firewalls e, em seguida, há firewalls .

Eu supostamente assumi que configurar uma regra de acesso de permissão na porta na interface de usuário do firewall Parrallels / Plesk / VZ era suficiente para impedir que o firewall bloqueasse o acesso a essa porta. Eu estava errado, esta interface do usuário não toca em uma camada totalmente separada de firewall baseado no iptables, que estava bloqueando o acesso ao 8080 para todos os IPs, mas selecionados.

Na minha configuração do Plesk (que pode ser específica para minha organização de hospedagem, não tenho certeza), a solução foi adicionar regras a /etc/firewall/include que se parecem com isso:

$IPTABLES -I INPUT -p tcp --dport 8080 -s ip.ad.dr.ess -j ACCEPT
$IPTABLES -I OUTPUT -p tcp --sport 8080 -d ip.ad.dr.ess -j ACCEPT

... seguido por service firewall restart (trocando ip.ad.dr.ess pelos endereços IP que você deseja colocar na lista de permissões). Tenho certeza de que na maioria dos arranjos de hospedagem você pode simplesmente executar essas linhas como comandos com /sbin/iptables em vez de $IPTABLES , mas ter um arquivo de configurações de firewall personalizadas é bastante útil.

Eu acho que este é um caso de "Se você der uma muleta a um homem (como Plesk), ele vai assumir que ele pode se apoiar naquela muleta"

    
por 08.04.2012 / 02:13