Dokku(Digital Ocean)client_max_body_size node.js

所以我刚刚把我的应用程序推向Dokku(数字海洋) – 并从ajax post得到以下错误:

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文件。

@Rob的答案是正确的,但有问题,更改不会持久,因为nginx.conf可能会重新生成,例如部署时。

我使用的解决方案概述在这个github提交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启动时间)的dokku ,只要你不使用干扰插件或定义另一个nginx模板(截至2017年8月),并保持不变的dokku

我想到了 – 我不得不cd到应用程序目录(根据github说明: https : //github.com/progrium/dokku/issues/802

正确的文件修改是/home/dokku//nginx.conf,并提到@dipankar,你应该添加一个client_max_body_size 20M; 行到服务器范围。

然后我输入

 reload nginx 

进入命令行。 所有的作品:)