私はexpressを使用するサーバを作成しました。それはAWSにあります。私はAWSでもそのクローンを持っています。 私はノードJSの例から、それらの実装のREST APIを使用しよう:同じノードJS httpリクエストがあるサーバでECONNRESETを取得し、別のサーバでOK
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に応答します。ブラウザから実行する例を使用すると、両方のサーバーで完璧に動作します。
ノードJS(すべてのサーバーとクライアントではv4.4.7)で問題が発生します。誰でも私に回避策を教えることができます。私は要求をやっているやり方を変えて、別のモジュールを使っているかもしれません。
あなたの問題が何であるかは不明です。 ECONNRESETは相手側が接続を閉じたことを意味します。 – Alan
私は明確にしましょう。 2つのサーバーで同じコードが実行されており、1つのサーバーが接続を終了しています。これは、NodeJSに関連するものでもプログラミングに関連するものでもありません。ノード4.4.7の問題(非常にありそうもない)だと思われ、回避策を求めている場合は、ノード6.xにアップグレードしてください。 – Alan