尝试通过 SSL 与后端服务器通信的 Node.js 错误

标签 node.js ssl

我们在 Node.js 0.8.16 上运行一个 WebSocket 服务器,它非常频繁地接收来自客户端的遥测消息,这些消息使用常规 HTTPS 发送路由到后端服务器。

一段时间后,我们注意到与遥测服务的通信将失败(即使另一台后端服务器正常),

Error: 1240:error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca:openssl\ssl\s3_pkt.c:1234:SSL alert number 48
at CleartextStream._pusher (tls.js:656:24)
at SlabBuffer.use (tls.js:199:18)
at CleartextStream.CryptoStream._push (tls.js:483:33)
at SecurePair.cycle (tls.js:880:20)
at EncryptedStream.CryptoStream.write (tls.js:267:13)
at Socket.ondata (stream.js:38:26)
at Socket.EventEmitter.emit (events.js:96:17)
at TCP.onread (net.js:397:14)

社区似乎没有太多此类错误的经验 https://groups.google.com/forum/#!topic/nodejs/3YYAmGNq4NM

想知道是否有人遇到过类似的事情,帖子中提到的症状包括端口 443 上有大量打开和挂起的 FIN_WAIT_2 套接字。

http 和 https globalAgent 的 maxSockets 属性已设置为 20000,但即使连接数少得多,这也没有真正帮助。

最佳答案

为了更新情况,我 fork 了我们使用的底层 HTTP 客户端库 - ReSTLer - 以便调整它以退出使用连接池。

从那以后几个月都没有遇到过上述问题。

关于尝试通过 SSL 与后端服务器通信的 Node.js 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18528956/

相关文章:

node.js - 在nodejs中重置密码

node.js - 是否仍然需要 promise MongoDB 驱动程序?

powershell - 无法在 powershell 中安装 TLS 模块

xcode - 示例 SSL 代码服务器

apache - Trac & Apache 服务器 : SSL & Virtual Hosts not working

javascript - Dotenv 无法覆盖键值对

node.js - Node 安装有时有@但并不总是

javascript - 从javascript中的数组中删除对象

python - 获取 socket.gaierror : [Errno 11001] getaddrinfo failed using pyopenssl in Python 的处理错误

php - 在 PHP cURL 中使用 Windows AD Cert Auth 证书