题 PHP / Apache POST限制?


我正在尝试在MediaWiki安装上编辑大型(200KB左右)文章,但这样做会给我这个错误:

请求的实体太大

请求的资源

/path/to/my/wiki/index.php

不允许POST的请求数据   请求或数据量   在请求中提供的超过   容量限制。

根据Apache文档, LimitRequestBody 默认为0(无限制)。我不认为我在附近 链接到MediaWiki 限制为2048KB。我无法找到PHP限制我的位置。

是什么赋予了?

更新: 我的Apache错误日志说:

request body exceeds maximum size for SSL buffer

就在下面:

could not buffer message body to allow SSL renegotiation to proceed

似乎可以找到一种可能的解决方案 这里

但它需要我重新编译 mod_ssl。它出现在bug报告的最后,他们正在谈论为此添加一个指令,而不是重新编译。谁知道这是否发生?另外,我只需要重新编译 mod_ssl 这个修复?如果是这样,我如何使用我的编译版本而不是股票Ubuntu?


5
2017-10-30 00:26






答案:


为什么不仔细检查POST请求的大小。 例如,您可以使用netcat来监听8080。

netcat -l -p 8080

然后,在提交表单之前,重定向浏览器以在端口8080上使用代理。你应该得到这样的东西:

POST http://example.com/path/to/my/wiki/index.php HTTP/1.1
Host: example.com
Proxy-Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 217

最重要的是 Content-Length 然后仔细检查内容的实际长度。这至少可以帮助您确定出错的地方。您至少会了解实际内容大小。

然后,确保您直接连接到Apache而不是通过代理或反向代理。一些反向代理将请求的最大大小设置为一种安全措施。因此,您可能需要检查它以及Apache日志,以确保没有其他任何事情发生。


6
2017-10-30 00:46



是的,先生,内容长度约为195,000。 - mrduclaw
那很快!无论如何,我在反向代理上添加了这个位。 - sybreon
好好调用日志,我会用最新的错误更新问题。 - mrduclaw
你试过这个吗? blog.bombcar.com/2008/01/apache-413-error-problems.html - sybreon
你,我的朋友,是个天才!这解决了!我希望我可以向你投票十几次!谢谢! - mrduclaw


我有错误“413请求实体太大”。

https://stackoverflow.com/a/19447688/784542 解决了我的问题。


0
2017-10-18 11:01





我有同样的错误,它来自mod安全相关的ajax上传500MB和更少的文件,修复我打开配置。

sudo vi /etc/httpd/conf.d/mod_security.conf

改变了这个

SecRequestBodyLimit 131072 
SecRequestBodyNoFilesLimit 
SecRequestBodyInMemoryLimit

至:

SecRequestBodyLimit 524288000
SecRequestBodyNoFilesLimit 524288000
SecRequestBodyInMemoryLimit 524288000

0
2017-07-09 20:32