我在我的一个应用程序中使用Nodejs进行web套接字通信。Nodejs错误:读ECONNRESET
此应用程序定期向AWS dynamodb发送用户数据。我得到很多新的遗物更改与以下stacktace:
Error: read ECONNRESET
at exports._errnoException (util.js:856:11)
at TLSWrap.onread (net.js:545:26)/
我只是想了解为什么会发生此TLSWrap错误。
在此先感谢
我在我的一个应用程序中使用Nodejs进行web套接字通信。Nodejs错误:读ECONNRESET
此应用程序定期向AWS dynamodb发送用户数据。我得到很多新的遗物更改与以下stacktace:
Error: read ECONNRESET
at exports._errnoException (util.js:856:11)
at TLSWrap.onread (net.js:545:26)/
我只是想了解为什么会发生此TLSWrap错误。
在此先感谢
此前我遇到过非常类似的问题,因为您提到过。
我调试通过评论代码(请求第三方)找到问题的根本原因,最后我得到了由于dynamoDB引发的问题。一些未捕获的异常是抛出(aws-sdk)并且没有处理。
我试图捕捉异常。但捕捉未捕获的异常并不是一个好习惯。
process.on('uncaughtException', function (err) {
logger.log('error','UNCAUGHT EXCEPTION - keeping process alive:', err);
});
然后我试图通过改变AWS配置来解决该问题
AWS.config.httpOptions['agent'] = new https.Agent({
keepAlive: true,
ciphers: 'ALL',
secureProtocol: 'TLSv1_method'
});
的keepAlive:真的 - 我让假的,之后我没有得到这个问题。但这不是一个正确的方法。对于每次请求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软件包。
现在我的问题解决了,并没有得到一个单一的问题。
谢谢!升级我的节点服务器后,我看不到错误。 – rahulb