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

问题描述 投票:0回答:2

在我的本地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行并重新启动项目,但我仍然收到错误。

nginx drupal-7 ddev
2个回答
0
投票

首先,对于这个问题,你真的不想使用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,你应该看到上传大小的改善。


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.