Apache ログ行に「...」が含まれています

Apache ログ行に「...」が含まれています

分析される Apache ログにはカスタム ログ ライン形式があります。

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

しかし、何らかの理由で一部のログ行が「...」で不可解に短縮されていますが、これはなぜでしょうか? この問題が発生する最短行の長さは 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=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"

答え1

見るどれでもこれら 質問

GET URI は一般に 255 文字を超えないようにしてください。それ以上の情報を送信する必要がある場合は、POST を使用してください。長い URI を使用すると、ログに省略記号が表示されたり、プロキシの問題が発生したり、極端な場合には 414 エラーが発生するなど、さまざまな問題が生じます。

答え2

どうして知っていますかアパッチURL を切り捨てていますか? ユーザー セッションの途中でこのようなエラーが表示されていますか? 簡単な答えとしては、誰かが長すぎる URL を他の人に電子メールで送信し、省略記号が付いてレンダリングされ、ユーザーが省略記号付きの URL を切り取って貼り付ける、などが考えられます。

しかし、この点については私も Chris に賛成です。本当の問題は URL が長すぎることであり、何か (おそらく Apache ではない) が URL を切り捨てているのです。正しい解決策は、奇妙な切り捨て問題が発生しない、より短い URL をサポートするようにソフトウェアを管理することです。

関連情報