Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot
Linux: Ubuntu 9.04 com tema Linux Mint
Por ferezini



» Login
Login:
Senha:

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

Esqueci minha senha

» Wallpaper

Dica

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

Login: cleberjsantos, 45317 pontos Homepage:
[ Hits: 801 ]

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 Synergy-Plus - Controle 2 computadores ou mais com 1 teclado + mouse
   Dica Linux recomendada Delete mais rápido na planilha Calc do OpenOffice
   Dica Linux recomendada Umask, dmask e fmask - qual a diferença entre esses parâmetros?
   Dica Linux recomendada Redirecionando seus emails no Postfix ou Sendmail
   Dica Linux recomendada KUbuntu com suporte a MP3 no Amarok

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 - Copyleft 2002-2009 Viva o Linux.com.br

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.