你如何在nginx.conf中增加client_max_body_size?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你如何在nginx.conf中增加client_max_body_size?相关的知识,希望对你有一定的参考价值。

在我的本地ddev实例中上载大文件时,我收到“413 Request Entity Too Large”错误,特别是使用Backup and Migrate从大型数据库文件进行恢复。

我正在使用ddev 1.5.1,php 7.1,nginx 1.15.3和Drupal 7.60。我已经尝试过提供一个自定义的nginx配置,就像它在文档中说的那样,但我尝试过没有尝试过。从谷歌搜索,我认为问题是client_max_body_size太低,但我试图加倍该值,没有任何工作。我复制了d7配置并添加到client_max_body_size行并重新启动项目,但我仍然收到错误。

答案

首先,对于这个问题,你真的不想使用backup_migrate进行恢复,特别是对于100MB上传,这是非常大的。 ddev import-db愉快地接受你的backup_migrate * .mysql.gz文件,并且速度非常快,不需要自定义配置。 ddev import-db --src=/path/to/my-backup-migrate.mysql.gz

但要按照你要做的方式去做,你必须覆盖nginx-site.conf和php。

在“服务器”部分的.ddev / nginx-site.conf中,如果要将其增加到1GB,请添加client_max_body_size 1000M;。 (见nginx custom config in docs

在.ddev / php / bigpost.ini(名称是任意的,请参阅docs),您将需要:

post_max_size = 1000M
upload_max_filesize = 1000M

然后ddev rmddev start,你应该看到上传大小的改善。

另一答案

我试图调试一些长时间运行的TUS文件上传时遇到了同样的问题。显然问题不一定是ddev web容器,而是nginx ddev-router容器。这里请求大小也限制为100米(client_max_body_size 100米)。

您可以通过以下步骤暂时绕过此问题: - ssh到ddev-router容器 - 编辑/app/nginx.tmpl并设置更高的客户端max_body_size - 重新启动路由器容器

这将一直有效,直到您删除所有ddev容器(或删除最后一个活动的ddev项目)。

以上是关于你如何在nginx.conf中增加client_max_body_size?的主要内容,如果未能解决你的问题,请参考以下文章

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

真心求助.nginx错误

增加nginx虚拟主机配置文件(conf.d)

nginx如何做反向代理服务器?

Nginx 如何绑定多域名?

Nginx 如何绑定多域名?