使用 Nginx 代理在 Nodejs 应用程序中上传文件时如何解决错误 504 网关超时

How to resolve Error 504 Gateway Timeout when uploading file in Nodejs App with Nginx proxy

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

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

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

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

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

帮帮我:)

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

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