У нас есть собственный формат строки журнала для анализируемых журналов 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-адресов, которые не будут вызывать странных проблем с усечением.