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;
【讨论】:
你能给出完整的目录吗?我找不到它 我觉得你需要重启ngnixsudo 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请求实体太大的主要内容,如果未能解决你的问题,请参考以下文章