Erro aleatório HTTP 413 no site apach2 / php / joomla

1

Eu tenho um site Joomla, e de vez em quando quando eu envio algo através de um formulário, recebo um erro HTTP 413:

Request Entity Too Large

The requested resource /index.php does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.

No arquivo error.log, recebo:

Invalid Content-Length, referer: [site]/index.php

Parece que isso não tem nada a ver com o tamanho real da solicitação, pelos seguintes motivos:

a) Eu mexi na configuração do Apache e do PHP. No Apache eu tentei aumentar o LimitRequestBody, e no PHP post_max_size, max_input_vars, memory_limit e até upload_max_filesize. Cada valor está muito além do que é enviado em uma solicitação típica que gera um erro.

b) O erro aparece bastante aleatoriamente e, muitas vezes, apenas pressionando a tecla refresh me permite passar.

c) Verifiquei a solicitação no Fiddler para ter certeza de que tudo está correto com o tamanho do conteúdo indicado no cabeçalho e o conteúdo da solicitação em si. Tudo parece estar em ordem. Uma coisa curiosa é que quando eu me ressinto da mesma solicitação via Fiddler, eu nunca recebi o erro. Parece que só posso recriá-lo através de um navegador.

Então eu estou no meu limite final aqui. Eu nem sei mais onde procurar o problema. Eu não sei se é Apache ou PHP (embora eu não consiga encontrar nada em logs de erros PHP, então talvez isso signifique que o Apache é o mais provável culpado?), Ou PHP em geral, ou meu site Joomla em particular (minhas apostas estavam no Joomla até recriar o erro em um script de teste, com um formulário de postagem muito básico, apesar de aparecer muito mais frequentemente no site Joomla).

Se alguém puder dar algum conselho sobre onde começar isso, ficarei muito grato!

    
por jfab 14.11.2012 / 20:31

2 respostas

0

Hora de romper Wireshark [. org]. Capture uma solicitação HTTP real na ligação para ver o que realmente constitui o tamanho total. Lembre-se de que o tamanho total da solicitação, incluindo cabeçalhos http (que inclui cookies), pode ultrapassar o limite. Alguns complementos ou proxies do navegador podem ser adicionados à solicitação.

    
por 15.11.2012 / 11:18
0

Tudo bem, acho que finalmente cheguei a algum lugar!

Eu tive problemas para configurar o wireshark no servidor, então, primeiro, acabei usando o LogFormat diretiva para registrar a quantidade de bytes que chegam na requisição, com o parâmetro% I.

Percebi que quando recebi o erro 413, o servidor recebeu menos bytes com a solicitação e, em seguida, quando foi processado corretamente. Então eu usei mod_dumpio para dar uma olhada em todo o pedido, e com certeza muito disso estava faltando quando eu estava recebendo o erro. Além disso, o código 70007 estava aparecendo nos logs, o que, até onde eu entendo, significa tempo limite.

Então eu comecei a pensar que o problema pode realmente ser a minha conexão, em vez de qualquer coisa a ver com o servidor. Eu pedi a algumas pessoas para testar o site, e ninguém relatou nenhum problema, então eu estou supondo que é isso.

Então, no final, acho que não há nada para ver aqui, mas talvez a minha experiência salve a pobre alma do stress que passei.

    
por 21.11.2012 / 13:10