gpt4 book ai didi

node.js - Socket.io + SSL + 自签名 CA 证书在连接时出错

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:36 36 4
gpt4 key购买 nike

我正在使用使用自签名 CA 证书创建的证书运行 https 服务器。

现在我想将 Socket.io 客户端连接到附加到 https 服务器的 Socket.io 服务器。不幸的是,我得到一个错误,告诉我:

Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE
at SecurePair.<anonymous> (tls.js:1271:32)
at SecurePair.EventEmitter.emit (events.js:92:17)
at SecurePair.maybeInitFinished (tls.js:883:10)
at CleartextStream.read [as _read] (tls.js:421:15)
at CleartextStream.Readable.read (_stream_readable.js:293:10)
at EncryptedStream.write [as _write] (tls.js:330:25)
at doWrite (_stream_writable.js:211:10)
at writeOrBuffer (_stream_writable.js:201:5)
at EncryptedStream.Writable.write (_stream_writable.js:172:11)
at write (_stream_readable.js:547:24)
at flow (_stream_readable.js:556:7)

基本上,这个错误告诉我无法成功验证证书。这是因为相应的 CA 证书是自签名的。使用 https 请求时,我可以指定我信任的 CA。

在这种情况下我怎样才能使 Socket.io 连接?

PS:我正在运行 Node.js 0.10.0 和 Socket.io 0.9.13。

最佳答案

四年后,但对于像我这样的任何人来说,如果你需要强制客户端套接字不拒绝自签名服务器证书,你需要 rejectUnauthorized: false如在
const socket = require('socket.io-client')('https://192.168.0.31', { transports: ['websocket'], rejectUnauthorized: false })
来自 https://github.com/socketio/engine.io-client#methods

现在还有一个很好的免费证书来源,所以现在您甚至不必是“便宜的 d*ck”https://letsencrypt.org/

关于node.js - Socket.io + SSL + 自签名 CA 证书在连接时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15365772/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com