Apache-Protokollzeilen enthalten „…“

Apache-Protokollzeilen enthalten „…“

Wir haben ein benutzerdefiniertes Protokollzeilenformat für Apache-Protokolle, die analysiert werden.

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

Einige Protokollzeilen sind jedoch aus irgendeinem Grund auf mysteriöse Weise mit „…“ verkürzt, aber wie kann das sein? Die kürzeste Zeile, bei der dies vorkommt, ist 317 Zeichen lang, während die längste Zeile weit über 2000 Zeichen lang ist.

"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"

Antwort1

Sehenbeliebigvondiese Fragen.

GET-URIs sollten im Allgemeinen nicht länger als 255 Zeichen sein. Wenn Sie mehr Informationen senden müssen, verwenden Sie POST. Die Verwendung längerer URIs führt zu allerlei Chaos, einschließlich Auslassungspunkten in den Protokollen, Proxy-Problemen und in extremen Fällen 414-Fehlern.

Antwort2

Woher weißt du dasApachekürzt die URLs? Sehen Sie diese während einer Benutzersitzung? Die einfachere Antwort könnte sein, dass jemand eine zu lange URL per E-Mail an jemand anderen sendet, diese mit Auslassungspunkten dargestellt wird und der Benutzer die URL mit den Auslassungspunkten ausschneidet und einfügt …

Aber ja, in diesem Punkt stimme ich Chris zu: Das eigentliche Problem ist, dass Ihre URLs zu lang sind und irgendetwas – wahrscheinlich nicht Apache – sie abschneidet. Die richtige Lösung wäre, Ihre Software so zu verwalten, dass sie kürzere URLs unterstützt, die nicht zu seltsamen Abschneideproblemen führen.

verwandte Informationen