我在我的一个应用程序中使用Nodejs进行web套接字通信。
此应用程序定期将用户数据发送到AWS dynamodb。我在下面的stacktace中得到了很多新的遗物变更:
Error: read ECONNRESET
at exports._errnoException (util.js:856:11)
at TLSWrap.onread (net.js:545:26) /我只想知道为什么会发生这个TLSWrap错误。
提前感谢
发布于 2017-07-18 18:24:01
早些时候,我遇到了与您提到的非常相似的问题。
我通过注释代码(对第三方的请求)来调试以找到问题的根本原因,最后我得到了问题,这是由于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: true --我把它设为false,之后我没有得到这个问题。但这不是一个正确的方法。对于每个对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包。
现在我的问题解决了,没有得到一个问题。
https://stackoverflow.com/questions/45163598
复制相似问题