如何避免 Request Entity Too Large 413 错误

Posted

技术标签:

【中文标题】如何避免 Request Entity Too Large 413 错误【英文标题】:How to avoid Request Entity Too Large 413 error 【发布时间】:2013-08-09 21:11:06 【问题描述】:

如何避免这个413错误?

请求实体太大

请求的资源/serverpath/reports.php不允许POST请求的请求数据,或者请求中提供的数据量超过容量限制。

位于 demo3.website_name 端口 80 的 Apache 服务器

那么,谁能帮忙设置 php.ini 以及如何设置 htaccess 以允许覆盖状态

【问题讨论】:

【参考方案1】:

php.ini 有一个名为 post_max_size 的设置,默认设置为 8M(至少在 Ubuntu 上)。

如果您要发布大量数据,请考虑增加该值。

【讨论】:

是的,我可以在 php 或 htaccess 中设置 post_max_size,但是当我在 php 文件上设置它不起作用时,我无法访问 php.ini 文件 您在更改php.ini 中的值后是否尝试重新启动网络服务器?【参考方案2】:

尝试在php.ini 中查找以下行并将其设置为您需要的大小:

post_max_size = 25M

然后您可以在.htaccess 文件中设置它:

php_value post_max_size 25M

【讨论】:

您是在本地运行它还是从托管域运行它?某些服务提供商不允许更改 php.ini,它可能需要更改 .htaccess 文件的权限。 托管域我无法访问 php.ini 文件【参考方案3】:

我不知道,在我拥有的 WP 插件中的自定义字体字段中添加了一个反斜杠,并且每次我离开页面时都会添加另一个字符。最终,我得到了大量的 //////////s 字符串,这导致了“请求实体太大”错误。我的 ISP 提高了我的 .ini 中的最大帖子和 vars = 但这并没有解决问题。在发现并删除大量文本字符串后立即解决。希望这对其他人有帮助。

【讨论】:

【参考方案4】:

如何在 NGINX 中修复它? client_max_body_size

要解决此问题,您需要增加 client_max_body_size 指令的值。该指令定义了 nginx 在 HTTP 请求中将接受的最大数据量。默认情况下,此值设置为 1 兆字节,这意味着如果您尝试上传大于 1 兆字节的文件,您将收到错误 413:请求实体太大页面。您可以在三个级别插入此指令:

在 http 块中:这将为您的配置中的所有服务器和位置设置指令值n

在服务器块中:这将为一个特定服务器的所有位置设置指令值

在位置块中:这将为特定服务器中的一个特定位置设置指令值

在本例中,我将把它插入到我的 http 块中并将其设置为 500 兆字节:

http 

    client_max_body_size 500M; # allows file uploads up to 500 megabytes
    [...]

来源: http://cnedelcu.blogspot.com.ar/2013/09/nginx-error-413-request-entity-too-large.html

【讨论】:

似乎不是每个文件,而是每个上传会话?我将我的设置为 500m,但在通过 Fineuploader 上传 1000 个 4 mb 文件后出现此错误。 omg,每次我使用它都有效,请检查您的配置是否正在应用(并重新启动 nginx)。 使用这个命令行检查:nginx -c /etc/nginx/nginx.conf -T “在位置块中:这将为特定服务器中的一个特定位置设置指令值”...由于某种原因,这对我不起作用。我必须在服务器块中设置它。【参考方案5】:

在 Apache 2.4 上,LimitRequestBody 指令也值得一看。它可以为每个虚拟主机配置,并进入<Directory> 部分。

<VirtualHost *:80> 
  [...]
  <Directory "/var/www/public_html"> 
    [...]
    LimitRequestBody 33554432 
  </Directory> 
</VirtualHost> 

大小值以字节为单位。当我尝试了php.ini max size 指令并且仍然出现错误时,这终于为我解决了。

【讨论】:

以上是关于如何避免 Request Entity Too Large 413 错误的主要内容,如果未能解决你的问题,请参考以下文章

wcf Request Entity Too Large 错误

.NetCore上传大文件 413 Request Entity Too Large 错误处理

Nginx 413 Request Entity Too Large

部署项目到远程tomcat的413 Request Entity Too Large报错处理

Nginx出现413 Request Entity Too Large错误解决方法

request entity too large: head