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

问题描述

我有一个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混为一谈。

帮帮我:)

解决方法

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

解决这个问题使我的项目运行完美。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...