2010-04-06 3 views
13

ich diesen Fehler in meinem apache2 log bin immer:wie erhöhen Apache 2 uri Längenbegrenzung

[Di 6. April 2010 09.00.56] [Fehler] [client ABCD] Anfrage fehlgeschlagen: URI zu lang (länger als 8190)

Welche Einstellung kann ich ändern, um dieses Limit zu erhöhen?

Antwort

12

Sie müssten DEFAULT_LIMIT_REQUEST_LINE Konstante innerhalb des Apache-Quellcodes setzen und Apache neu kompilieren. Diese Konstante befindet sich in der Header-Datei httpd.h.

Danach können Sie das Anforderungslimit mit der LimitRequestLine Richtlinie verringern.

Weitere Informationen finden Sie unter http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestline.

12

Die beste Antwort ist "Tu das nicht". Eine Erläuterung des Grundes finden Sie unter http://www.boutell.com/newfaq/misc/urllength.html.

Wenn Sie so viele Daten übergeben müssen, verwenden Sie POST, nicht GET.

+1

POST auch den gleichen 414 Fehler geben – Sadee

+0

Yep, beste Antwort. Dies ist jedoch nicht möglich, wenn Sie versuchen, POST-Daten an eine URL zu übergeben, die ein Formular-Token erwartet. – HeadCode

4

Eine schnelle Hack, um es arbeiten Sie gerade die apache2.conf Datei bearbeiten und die Zeile:

LimitRequestLine 100000 

Starten Sie Apache und Sie sind alle gut. Obwohl Sie den Code ändern sollten, um POST anstelle von GET zu verwenden, und entfernen Sie die Zeile so bald wie möglich.

3

öffnen /etc/apache2/apache2.conf

und legen Sie unter AccessFileName .htaccess:

LimitRequestLine 1000000 
LimitRequestFieldSize 1000000 
+0

'sudo service apache2 restart' – samdd