nginx Dokku(数字海洋)客户端_最大_主体_大小节点. js

qgelzfjb  于 2022-12-22  发布在  Nginx
关注(0)|答案(3)|浏览(159)

所以我刚刚把我的应用程序推到Dokku(数字海洋)-并得到以下错误返回从 AJAX 职位:
POST http://example.com/foo 413(请求实体太大)
谷歌一下就知道这个问题是由于client_max_body_size太小,所以我用SSH连接到服务器,打开应用程序nginx.conf,然后按照下面的说明增加它:

client_max_body_size 100M;

https://github.com/progrium/dokku/issues/802
但是,我仍然有同样的问题...我需要重新启动一个进程还是什么吗?我试着重新启动dokku应用程序-但这一切所做的都是覆盖我的nginx.conf文件。

ftf50wuq

ftf50wuq1#

@Rob的答案是正确的,但问题是更改不会持久化,因为nginx.conf可能会重新生成,例如在部署时。
我使用的解决方案在github commit https://github.com/econya/dokku/commit/d4ea8520ac3c9e90238e75866906a5d834539129中有概述。
基本上,dokkus默认的nginx模板将nginx.conf.d/子文件夹中的每个文件都包含在主server配置块中,因此

mkdir /home/dokku/myapp/nginx.conf.d/
echo 'client_max_body_size 50M;' > /home/dokku/myapp/nginx.conf.d/upload.conf
chown dokku:dokku /home/dokku/myapp/nginx.conf.d/upload.conf
service nginx reload

将创建一个合并到nginx.conf中的文件(我相信是在nginx启动时),并且只要您不使用干扰插件或定义另一个nginx模板(截至2017/08),就不会被dokku影响。

ttp71kqs

ttp71kqs2#

这在Dokku中已更新,可以从CLI完成:https://dokku.com/docs/networking/proxies/nginx/#specifying-a-custom-client_max_body_size

ufj5ltwl

ufj5ltwl3#

我想明白了--我必须用cd进入apps目录(按照github的说明:https://github.com/progrium/dokku/issues/802
要修改的正确文件是/home/dokku//nginx.conf,正如@dipankar提到的,您应该添加一个客户端最大主体大小20 M;行添加到服务器范围。
然后我输入了

reload nginx

进入命令行。所有工作:)

相关问题