2017-07-18 17 views
1

ウェブソケット通信用に私のアプリケーションでNodejsを使用しています。Nodejsエラー:ECONNRESETを読み取る

このアプリは定期的にAWS dynamodbにユーザーデータを送信します。

Error: read ECONNRESET 
at exports._errnoException (util.js:856:11) 
at TLSWrap.onread (net.js:545:26)/

このTLSWrapエラーが発生する理由を理解したいだけです。あなたが述べたように、事前に

おかげで

答えて

4

以前の私は非常に同様の問題に直面しています。

私はコードのコメント(第三者へのリクエスト)によって問題の根本的な原因を見つけるためにデバッグし、最後にdynamoDBのために発生した問題があります。キャッチされない例外のいくつか(aws-sdk)が投げられていて、処理されませんでした。

私は例外をキャッチしてみました。しかし、キャッチされない例外をキャッチするのは良い方法ではありません。 - 私は問題を取得していないことの後に私は、それが偽作る真:

process.on('uncaughtException', function (err) { 
    logger.log('error','UNCAUGHT EXCEPTION - keeping process alive:', err); 
}); 

は、その後、私は問題を解決

AWS.config.httpOptions['agent'] = new https.Agent({ 
    keepAlive: true, 
    ciphers: 'ALL', 
    secureProtocol: 'TLSv1_method' 
}); 

キープアライブするためにAWSの設定を変更することで試してみました。しかし、これは正しいアプローチではありません。 dynamodbへのリクエストごとに、ハンドシェイクをやり直しますが、ハンドシェイクは少し遅くなります。

secureProtocol: 'TLSv1_method' - 別の方法(https://www.openssl.org/docs/man1.0.2/ssl/TLSv1_method.html)で試してみました。しかし、それは私を助けなかった

私のnodejsバージョンは5.2だった。 nodejsのバージョンを6.11(LTS)にアップグレードし、aws-sdkパッケージを更新しました。

私の問題は解決され、1つの問題は発生していません。

+0

ありがとうございます!私のノードサーバーをアップグレードした後、私はエラーを見ることができません。 – rahulb

関連する問題