【问题标题】:How to resolve Error 504 Gateway Timeout when uploading file in Nodejs App with Nginx proxy使用 Nginx 代理在 Nodejs App 中上传文件时如何解决错误 504 Gateway Timeout
【发布时间】:2020-08-14 12:57:49
【问题描述】:

我有一个 nodejs 应用程序部署在 Digital Ocean 上并在 Ubuntu 上运行。我使用 Nginx 作为反向代理将请求重定向到应用程序的端口。

我已经测试这个应用程序已经有一段时间了,在今天之前的所有过去几周里,我都能够完美地上传大小文件,但就在最近这个过程刚刚开始挂起,然后返回 504 网关超时。我的第一直觉是这与 Nginx 有关,所以我做了一些研究,大多数解决方案建议在 nginx 的服务器块中添加以下内容:

client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
client_max_body_size 100M;

现在我认为我永远不会允许我的用户上传超过 5MB 的任何内容,但我将最大上传 body_size 设置为 100M。但是还是不行。

考虑到这在几天前工作得很好,我很茫然,除非在这种情况下,否则我真的避免弄乱 Nginx。

帮帮我:)

【问题讨论】:

  • 更倾向于怀疑你的 Node.js 后端,这就是 504 所说的。是什么让您的 Node 进程保持运行?他们最后一次重新启动是什么时候?重新启动后响应是否恢复正常(一段时间)?无论哪种方式,上传

标签: node.js nginx file-upload digital-ocean http-status-code-504


【解决方案1】:

好的,经过进一步研究,我开始研究我的代码可能有问题的可能性。因此,我逐个检查了项目,并意识到我应该将文件上传到的目录不存在。我记得在我最后一次 git 提交之前,我 .gitignored 了它,所以我不应该将我的本地上传与项目的其余部分一起推送,因此该目录被删除了。在我在 Live Production 中启动应用程序之前,我将它拉入了我的 Digital Ocean ubuntu 服务器,但这次没有上传目录。

所以修复这个问题让我的项目完美运行。

【讨论】:

    猜你喜欢
    • 2016-03-27
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 2023-02-07
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多