As linhas de log do Apache contêm "..."

As linhas de log do Apache contêm "..."

Temos um formato de linha de log personalizado para 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 log são misteriosamente encurtadas com "..." por algum motivo, mas como pode ser isso? A linha mais curta descoberta onde isso ocorre tem 317 caracteres, enquanto a linha mais longa tem mais de 2.000 caracteres.

"OBTER /exposição?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"

Responder1

Verqualquerdeesses questões.

GET URIs em geral não devem ter mais de 255 caracteres, se você precisar enviar mais informações do que isso, use POST. Usar URIs mais longos causa todo tipo de confusão, incluindo reticências nos logs, problemas de proxy e, em casos extremos, erros 414.

Responder2

Como você sabeApacheestá truncando os URLs? Você está vendo isso no meio de uma sessão de usuário? A resposta mais simples pode ser que alguém envia por e-mail um URL muito longo para outra pessoa, e ele é renderizado com reticências, e o usuário recorta e cola o URL com reticências. . .

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

informação relacionada