Назад | Перейти на главную страницу

Строки журнала Apache содержат «…»

У нас есть собственный формат строки журнала для анализируемых журналов Apache.

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

Однако некоторые строки журнала по какой-то причине загадочным образом сокращаются с помощью "...", но как это может быть? Самая короткая строка, обнаруженная там, где это происходит, составляет 317 символов, а самая длинная строка - более 2000 символов.

"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=1024x 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 & sa = 180x500 "

Видеть любой из эти вопросы.

GET URI обычно не должен быть длиннее 255 символов, если вам нужно отправить больше информации, используйте POST. Использование более длинных URI вызывает разного рода хаос, включая многоточие в журналах, проблемы с прокси и, в крайних случаях, ошибки 414.

Откуда вы знаете Apache усекает URL-адреса? Вы видите их в середине пользовательского сеанса? Более простой ответ может заключаться в том, что кто-то отправляет по электронной почте слишком длинный URL-адрес кому-то другому, и он отображается с многоточием, а пользователь вырезает и вставляет URL-адрес с многоточием. . .

Но да, я с Крисом в этом вопросе: настоящая проблема в том, что ваши URL-адреса слишком длинные, и что-то - вероятно, не Apache - их усекает. Правильным решением будет управление вашим программным обеспечением для поддержки более коротких URL-адресов, которые не будут вызывать странных проблем с усечением.