我们在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,但即使连接数量较少,这也没有真正的帮助。
答案 0 :(得分:0)
为了更新情况,我分叉了我们正在使用的底层HTTP客户端库 - Restler - 以便使用连接池调整它以退出。
从那以后几个月没有经历过这样的问题。