0

我们在 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,但即使连接数量较少,这也无济于事。

4

1 回答 1

0

只是为了更新情况,我分叉了我们正在使用的底层 HTTP 客户端库 - Restler - 以便调整它以使用连接池退出。

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

于 2014-01-30T03:19:52.853 回答