所以我刚刚把我的应用程序推向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
进入命令行。 所有的作品:)