终止文件上传到NodeJS后端会导致Apache 502网关错误

时间:2020-10-30 15:38:04

标签: node.js apache file-upload

我有一个Apache网络服务器,它将一些请求代理到NodeJS后端。当用户上传无效文件时,我的服务器会以错误消息终止请求。虽然在直接调用NodeJS后端时此方法可以正常工作,但出现502 Bad Gateway错误(“代理服务器从上游服务器收到无效响应。 “)是通过Apache代理时给出的。

NodeJS终止(req =请求,res =响应)

            req.pause()
            res.statusCode = 400
            res.setHeader('Content-Type', 'text/plain');
            res.end("Invalid Request: " + e.message);
            req.destroy(["Invalid Request: " + e.message])

我想立即结束上传(以节省时间和带宽),并向客户端发送错误消息,因此仅暂停请求对我不起作用-客户端挂起。即使未通过错误消息调用res.end,也未设置“连接:关闭”或破坏套接字会导致上传继续。

我在Apache中看到“发送结束之前的HTTP错误,请停止发送”错误,因此很明显,Apache将此视为后端服务器故障,而不是将合法的错误消息返回给客户端。我该如何解决?我已经做了很多搜索,但是没有找到明确的答案。

当前的代理代码(不多):

ProxyPass /node http://127.0.0.1:3000/node

可以根据要求提供更多代码。

0 个答案:

没有答案