As linhas de log do Apache contêm “…”

3

Temos um formato de linha de log personalizado para os logs do Apache que são analisados.

CustomLog "|/usr/sbin/rotatelogs -l /mnt/var/log/apache2/access-%Y%m%d%H%M%S.log 900" "%a %{%s}t \"%r\""

No entanto, algumas linhas de registro são misteriosamente encurtadas com "..." por alguma razão, mas como isso pode ser? A linha de menor comprimento descoberta onde isso ocorre é de 317 caracteres, enquanto a linha mais longa está a mais de 2000 caracteres.

"GET /exposure?sg=&ap=0x0&fv=WIN%2010,0,22,87&si=IH95VDUAVLJ0&pt=Lage%20hjemmelaget%20sengegavl%20-%20Forum%20-%20Diskusjon.no&iv=0&sd=1024x600&ct=680&tz=-120&eu=http%3A//www.diskusjon.no/index.php%3Fshowtopic%3D1011139&l...AS3&an=NO%20-%20180x500%20Pretail%20CPC&wd=1024x483&rf=http%3A//www.google.no/search%3Fhl%3Dno%26source%3Dhp%26q%3Dsengegavl+lage%26meta%3D%26aq%3D2%26aqi%3Dg10%26aql%3D%26oq%3Dsengega%26gs_rfai%3D&ui=3INYF5QAZL10&ws=0x417&ad=180x500&sa= HTTP/1.1"

    
por a038c56f 07.06.2010 / 17:55

2 respostas

1

Veja qualquer de estas questions .

O GET URI em geral não deve ter mais de 255 caracteres, se você precisar enviar mais informações do que isso, use o POST. O uso de URIs mais longos causa todos os tipos de estragos, incluindo reticências nos logs, problemas de proxy e, em casos extremos, 414 erros.

    
por 07.06.2010 / 18:34
0

Como você sabe que o Apache está truncando as URLs? Você está vendo isso no meio de uma sessão de usuário? A resposta mais simples pode ser que alguém envie por e-mail uma URL muito longa para outra pessoa, e ela é renderizada com reticências, e o usuário corta e cola a URL com as reticências. . .

Mas sim, estou com o Chris neste: o verdadeiro problema é que os URLs são muito longos e algo - provavelmente não o Apache - está truncando-os. A solução correta seria gerenciar seu software para suportar URLs mais curtos que não implorariam por problemas estranhos de truncamento.

    
por 18.06.2010 / 20:27