Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu 9.10
Por acti0nx
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Proxy Error: Plone ou Apache?
Linux user
Publicado por Cleber J Santos em 04/07/2009

Login: cleberjsantos, 79960 pontos
[ Hits: 2457 ]

Proxy Error: Plone ou Apache?

Esse erro significa que o servidor que você acessou atua como um proxy ou gateway e que o servidor "acima" dele reportou algum erro ao tentar completar a requisição, também conhecido como 502 bad gateway.

É realmente muito chato quando um cliente te liga dias dizendo que o site dele está dando este tipo de problema, é quando você começa a perder os cabelos tentado achar onde ele está. Normalmente não é complicado achar o gargalo, mas neste caso aqui me tirou alguns dias de pesquisas.

Efetuei alguns testes e pesquisas sobre os erros no log do Apache, pois o Zope não estava registrando nenhum erro em seus logs, já o Apache mostrou-se saber bem dos erros:

$ less logs/error_log | grep 'The timeout

[Sat Mar 14 17:30:46 2009] [error] (70007)The timeout specified has
expired: proxy: prefetch request body failed to 127.0.0.1:8001
(127.0.0.1) from xxx.xxx.xx.xx ()

[Sat Mar 14 17:31:36 2009] [error] (70007)The timeout specified has
expired: proxy: prefetch request body failed to 127.0.0.1:8001
(127.0.0.1) from xxx.xxx.xx.xx (

$ tail -f logs/error_log

[Wed Mar 25 17:33:54 2009] [error] [client xxx.xxx.xxx.xxx] proxy:
Error reading from remote server returned by
/atividades/portal_factory/atividade/atividade.2009-03-25.7299552564/base_edit,
referer:
http://www.siteinocente.com.br/atividades/portal_factory/atividade/atividade.2009-03-25.7299552564/edit
[Thu
Mar 26 02:30:37 2009] [error] [client xx.xxx.xx.xxx] Invalid URI in
request GET /../banco-de-imagens/Logo%20Iguatemi.jpg/image_preview
HTTP/1.0, referer: http://www.siteinocente.com.br

A questão era agora descobrir onde estava o gargalo, e como trata-se de uma versão do apache meio suspeita (sim, já tive este mesmo problema em outro cliente 'Server version: Apache/2.2.3'), resolvi procurar ler a documentação. Percebi então que isso é um bug dessa versão do Apache, por quê?

Bem, isso poderia ocorrer por um dos 3 motivos:
  • Timeout = Lentidão de resposta na rede local [(70007)The timeout specified has expired];
  • Plone sendo restartado constantemente;
  • Fim do processamento da página encontrado, isso é repassado ao Apache como um cabeçalho falso indicando que a página chegou ao fim.

Normalmente o cabeçalho é disparado ao Zope/Plone e no qual fecharia a conexão corretamente.

No fórum do Apache existe uma discussão no qual este bug é mencionado, ou seja, isso pode ser gerado de através da visitas de robôs, como o Google robots ou ainda por quase todos os buscadores, claro, não apenas por isso, mas nada mais é do que um bug no módulo proxy (mod_proxy).

Agora as coisas passam a ficar um cadinho mais fácil né :-), descoberto nosso gargalo vamos à solução.

Solução

Podemos migrar para a versão 2.2.10 do Apache ou se tiver alguma mais atual, onde o bug esteja corrigido, ou colocar dois parâmetros no arquivo de configuração do virtual host, que são:

<VirtualHost *:80>
   SetEnv force-proxy-request-1.0 1
   SetEnv proxy-nokeepalive 1
</VirtualHost>

Isso força o mod_proxy a enviar os pedidos de utilização HTTP/1.0 sem KeepAlive, burlando assim o problema de proxy error.

Porém, cada caso é um caso, aqui o problema que ocorreu foi por conta deste bug, mas poderia ocorrer por outros milhares de problemas, por isso é sempre bom dar uma lida nos logs de qualquer aplicação, isso ajuda muito, como foi no meu caso.

Até a próxima! ;)


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Crie aliases para facilitar o uso do Package Manager no Arch e no KahelOS
   Dica Linux recomendada Instalando o Windows 7 em uma máquina que já tem o Ubuntu 9.10 instalado
   Dica Linux recomendada Lazarus, o Delphi do Linux (Slackware)
   Dica Linux recomendada Existe uma distribuição Linux melhor? Como escolher?
   Dica Linux recomendada Bloqueando Skype

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.