请求实体太大 apache
Posted
技术标签:
【中文标题】请求实体太大 apache【英文标题】:Request Entity Too Large apache 【发布时间】:2016-11-08 20:25:50 【问题描述】:我在提交的表单中有 8000 个复选框。请不要告诉我这有多糟糕。
我的.htaccess
php_value post_max_size 20M
php_value max_input_vars 10000
php_value suhosin.get.max_vars 10000
php_value suhosin.post.max_vars 10000
php_value suhosin.request.max_vars 10000
我在提交表单时收到Request Entity Too Large
错误。
当我有 3000 个复选框时,它工作正常。我是否缺少更多设置,还是需要重新启动 apache 以外的服务?
旁白: 我使用
检查了我的帖子大小 postsize = $("form").not("[type='file']").serialize().length;
结果是postsize == 165655
【问题讨论】:
您是否尝试过将输入变量的大小增加到 20000 左右?您的 8000 个复选框和其他一些表单元素可能超过了 10000 个限制。 刚刚试了一下,还是一样的错误。但是,当我第一次不得不增加 max_inputs 时,有太多的复选框并没有给我那个错误......它只是截断了没有错误的复选框。 devdocs.io/apache_http_server/mod/core#limitrequestbody @hjpotter92 我把LimitRequestBody 0
放在我的.htaccess
中,但它没有解决问题
@Phil 你能检查一下 Apache 服务器日志吗?如果是这样,请在此处粘贴相关行。
【参考方案1】:
在查看正确的日志文件后,请参阅 OP 中的 cmets,我发现 modsecurity 拒绝了发布请求,谷歌搜索帮助我找到了这个解决方案。
通过将以下内容添加到站点配置来增加大小允许,即etc/apache2/sites-available/[your_site.conf]
<IfModule mod_security2.c>
SecRequestBodyNoFilesLimit 5242880
</IfModule>
我使用了一个任意大的数字,但您可以使用任何您觉得舒服的数字...您会增加 DOS 攻击的暴露/严重性以及大小。
【讨论】:
以上是关于请求实体太大 apache的主要内容,如果未能解决你的问题,请参考以下文章
413 请求实体太大 + Web 服务器连接已关闭 |错误 64