413请求实体太大

Posted

技术标签:

【中文标题】413请求实体太大【英文标题】:413 Request Entity Too Large 【发布时间】:2014-12-23 20:58:18 【问题描述】:

当我将数据发布到服务器时,我使用 nginx/1.6 和 laravel,我收到此错误 413 Request Entity Too Large。我尝试了很多解决方案,如下所示

1- set client_max_body_size 100m; in server and location and http in nginx.conf.
2- set upload_max_filesize = 100m in php.ini
3- set post_max_size = 100m in php.ini

重启php5-fpm和nginx后问题依旧没有解决

【问题讨论】:

确保您没有覆盖包含的配置文件中的 client_max_body_size 值,即如果您的 nginx.conf 包含其他 .conf 文件。 我检查了所有 .conf 文件并确保 我通过从 location 中删除 client_max_body_size 解决了这个问题 【参考方案1】:

在 /etc/nginx/nginx.conf 的 http 部分中添加“client_max_body_size xxM”,其中 xx 是您希望允许的大小(以兆字节为单位)。

http 
      client_max_body_size 20M;         

【讨论】:

你能给出完整的目录吗?我找不到它 我觉得你需要重启ngnix sudo service nginx restart【参考方案2】:

我遇到了同样的问题,但在 docker 中。当我遇到这个问题时,将client_max_body_size 120M; 添加到我的 Nginx 服务器配置中,

nginx默认配置文件路径为/etc/nginx/conf.d/default.conf

server 
    client_max_body_size 120M;
    ...

它将最大正文大小调整为 120 兆字节。注意您放置client_max_body_size 的位置,因为它会影响其范围。例如,如果您将 client_max_body_size 放在 location 范围内,则只会影响 location 范围

之后,我确实将这三行添加到我的 PHP docker 文件中

RUN echo "max_file_uploads=100" >> /usr/local/etc/php/conf.d/docker-php-ext-max_file_uploads.ini
RUN echo "post_max_size=120M" >> /usr/local/etc/php/conf.d/docker-php-ext-post_max_size.ini
RUN echo "upload_max_filesize=120M" >> /usr/local/etc/php/conf.d/docker-php-ext-upload_max_filesize.ini

由于 docker PHP image 自动将路径 (/usr/local/etc/php/conf.d/) 中的所有设置文件包含到 php.ini 文件中,PHP 配置文件将通过这三行更改,问题必须消失

【讨论】:

【参考方案3】:

我正在使用 Docker 和 PHP 7.4,我也遇到了这个问题。

刚刚在 docker/php74/ 目录中的文件 *.conf 中添加了一行。

server 
    client_max_body_size 100M;
    ...

【讨论】:

如果你仔细阅读 AhmedShawky 的提问,他似乎已经尝试过了。

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

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

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

413 请求实体太大 IIS 10

413 请求实体太大 nginx django

413 请求实体太大 - 文件上传问题

(413) 请求实体太大 - 在 Azure 上上传 Wcf 时