我写过一个使用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 Socket挂起。从服务器端,两台服务器都使用200来回答API。如果我使用从浏览器运行的示例,它可以完美地与BOTH服务器配合使用。
它看起来像Node JS(所有服务器和客户端中的v4.4.7)中的一个问题。任何人都可以指出我的解决方法。我接受改变我正在做请求的方式,可能正在使用另一个模块。
答案 0 :(得分:-1)
问题是.write。删除它现在正在工作。一台服务器与另一台服务器之间的区别在于第一台服务器是通过CloudFlare连接的,而第二台服务器是直接连接的。直接连接第一台服务器失败的方式与第二台服务器相同。 现在,一切正常。非常感谢你的帮助艾伦。你是那些试图指向人而不是帮助的人之一。感谢您每天让世界变得更美好!你真棒!