【发布时间】:2016-07-29 01:25:50
【问题描述】:
我写了一个使用 express 的服务器。它在 AWS 中。我在 AWS 中也有它的克隆。 我尝试使用 Node JS 中的示例中实现的 REST API:
var http = require('http');
var data = JSON.stringify({
});
var options = {
timeout: 180000,
host: server,
port: '80',
path: restAPI,
method: 'GET',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Accept': "application/json",
'Cache-Control': "no-cache"
}
};
var req = http.request(options, function (res) {
});
req.on('error', function (err) {
console.log(err);
});
req.write(data);
req.end();
如果我使用服务器 1 有“服务器”,它会完美运行。相反,如果我使用服务器 2,则返回 ECONNRESET 套接字挂起将不起作用。从服务器端,两台服务器都以 200 回答 API。如果我使用从浏览器运行的示例,它可以完美地与两台服务器配合使用。
它在 Node JS 中看起来是一个问题(所有服务器和客户端中的 v4.4.7)。任何人都可以指出我的解决方法。我接受更改我处理请求的方式,可能正在使用另一个模块。
【问题讨论】:
-
不清楚您遇到了什么问题。 ECONNRESET 表示对方关闭了连接。
-
让我澄清一下。您在两台服务器上运行完全相同的代码,而一台服务器正在关闭连接。这既不是 NodeJS 相关的,也不是编程相关的。如果您认为这是 Node 4.4.7 的问题(极不可能),并且正在寻求解决方法,请升级到 Node 6.x。