簡體   English   中英

Dokku(數字海洋)client_max_body_size node.js

[英]Dokku (Digital Ocean) client_max_body_size node.js

所以我剛剛將我的應用程序推送到 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 文件。

@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啟動時)並且只要你不使用干擾插件或定義另一個nginx模板(截至2017/08),就不會被dokku保持不變。

這已在 Dokku 中更新,可以從 CLI 完成: dokku nginx:set node-js-app client-max-body-size 50m https://dokku.com/docs/networking/proxies/nginx/#specifying-a-custom-client_max_body_size

我想通了 - 我不得不進入應用程序目錄(根據github說明: https//github.com/progrium/dokku/issues/802

要修改的正確文件是/home/dokku//nginx.conf,並且提到@dipankar,你應該添加一個client_max_body_size 20M; 行到服務器范圍。

然后我輸入

reload nginx

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM