什么在起作用
我使用WebSocket-Node创建了一个节点https/WebSocket服务器,下面是我如何添加key/cert的代码片段:
import WebSockerServer from "websocket";
import fs from "fs";
const httpsSignalServer = https.createServer(
{
key: fs.readFileSync("./server.private.key"),
cert: fs.readFileSync("./server.crt"),
},
(req, res) => {
console.log("signal server : we have received a request");
}
);
const signalWebsocket = new WebSockerServer.server({
httpServer: httpsSignalServer,
});
signalWebsocket.on("request", (request) => onRequest(request));
httpsSignalServer.listen(8080, () => console.log("My signal server is listening"));
我有一个React html网页,通过wss发送数据到上面的WebSocket Web API服务器:
new WebSocket("wss://192.168.230.138:8081");
我的react应用程序在https服务器上运行,目前一切正常。
∮ ∮什么不起作用∮
问题出在我的小节点WebSocket客户端上,我还在使用WebSocket-Node,client documentation显示了一个tlsOptions给构造函数。
客户端代码片段:
var WebSocketClient = require("websocket").client;
var fs = require("fs");
const tlsOptions = {
key: "./server.private.key",
cert: "./server.crt",
};
var client = new WebSocketClient({
key: fs.readFileSync(tlsOptions.key),
cert: fs.readFileSync(tlsOptions.cert),
});
.
.
.
client.connect("wss://localhost:8080/", "");
客户端返回消息:
错误:无法验证第一个证书
有没有人知道如何使用tlsOptions进行客户端设置?
谢谢
1条答案
按热度按时间bis0qfac1#
我写了一个完美的功能简单的聊天脚本,它使用安全连接。我添加了一些简单的聊天命令,以启用或禁用聊天输入命令在聊天。你可以使用这个,如果你喜欢或它的一部分,甚至只是看看我是怎么做的。希望你找到一些使用它。
我也安装了使用npm的Dompurify来帮助防止实体被张贴。记得打开防火墙中的端口或更改脚本中的端口号。如果您需要客户端脚本包括html,.css让我知道,我也可以上传那些:)