HTTP 413 请求实体太大

Posted

技术标签:

【中文标题】HTTP 413 请求实体太大【英文标题】:HTTP 413 Request Entity too Large 【发布时间】:2012-09-23 08:54:11 【问题描述】:

我目前无法在 drupal 7 (7.15) 的自定义文件字段上使用 Drupal FileField Source(远程 url 选项)发布非常大的文件。该文件正在成功上传到 tmp 目录,但在尝试发布时失败。文件大小为 870Mb(一个 510mb 文件已成功发布。)。

我在 access_log 中收到以下错误:

83.000.15.200 - - [02/Oct/2012:12:30:14 +0000] "POST /file/ajax/field_video_source/und/0/form-i6gTPc5LlZsQxKpgO43eaLGjh7dgWqHjQ6TPZD9SRmY HTTP/1.1" 500 413

我假设我将此错误正确解释为 413 请求实体太大

我已经使用以下设置配置了 php.ini:

post_max_size = 1800M max_execution_time = 3600 (i know that's overkill) memory_limit = 1750M max_input_time = -1 (unlimited)

此外,我还尝试使用以下方法在 php.conf 中将 LimitRequestBody 值设置为 0:

<Files *.php>SetOutputFilter PHPSetInputFilter PHPLimitRequestBody 0</Files>

这似乎没有帮助。

服务器运行 Centos 6.3、Apache/2.2.15、PHP 5.3.3,2GB 内存和 40GB 磁盘。

我不敢相信它应该在那个大小的文件 (~800mb) 和那些服务器设置上苦苦挣扎?

【问题讨论】:

【参考方案1】:

如果可以的话,您是否可以访问 http.conf。

这一直是我有时上传超过 500mb 的问题。尽管我强烈建议您尝试使用它 SecRequestBodyAccess 设置为“开”。

我必须编辑 Apache 配置文件 (http.conf) 并进行更改

SecRequestBodyAccess On

SecRequestBodyAccess Off

编辑:

如果我没记错的话,你可以试试下面的。

设置

SecRequestBodyNoFilesLimit , the maximum value is 1073741824 (1Gb)

【讨论】:

以上是关于HTTP 413 请求实体太大的主要内容,如果未能解决你的问题,请参考以下文章

上传报告失败 - HTTP 代码 413:页面未显示,因为请求实体太大

响应:413 请求实体太大

413请求实体太大

maxReceivedMessageSize 未修复 413:请求实体太大

(413) 使用 WCF 请求实体太大错误

413 请求实体太大 IIS 10