你如何在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 rm
和ddev 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?的主要内容,如果未能解决你的问题,请参考以下文章