如何增加Apache 2 uri长度限制

时间:2010-04-06 16:07:25

标签: apache2

我在apache2日志中收到此错误:

  

[Tue Apr 06 09:00:56 2010] [错误] [客户A.B.C.D]请求失败:   URI太长(超过8190)

我可以更改哪些设置来增加此限制?

6 个答案:

答案 0 :(得分:14)

最好的答案是“不要那样做”。有关原因的解释,请参阅http://www.boutell.com/newfaq/misc/urllength.html

如果您需要传递那么多数据,请使用POST,而不是GET。

答案 1 :(得分:12)

您必须在Apache源代码中设置DEFAULT_LIMIT_REQUEST_LINE常量,然后重新编译Apache。此常量位于httpd.h头文件中。

完成此操作后,您可以使用LimitRequestLine指令减少请求限制。

有关详细信息,请参阅http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestline

答案 2 :(得分:6)

快速破解它,只需编辑apache2.conf文件并添加以下行:

LimitRequestLine 100000

重启apache,你们都很好。虽然您应该更改代码以使用POST而不是GET,并尽快删除该行。

答案 3 :(得分:4)

打开/etc/apache2/apache2.conf

并插入AccessFileName .htaccess下:

LimitRequestLine 1000000
LimitRequestFieldSize 1000000

答案 4 :(得分:0)

增加limit request linelimit request field size的Apache限制并保存。

下一步,使用sudo service apache restart重新启动apache

希望,这将解决问题。

答案 5 :(得分:0)

如果您将虚拟主机与Apache一起使用,则必须在第一个虚拟主机定义中使用匹配的端口设置LimitRequestLineLimitRequestFieldSize。 对于Ubuntu / Debian,它位于/etc/apache2/sites-available/000-default.conf中。

如果您在/etc/apache2/apache2.conf中设置了这些参数,则无法使用。