如何在安全站点上使用 nodejs ws 模块

Posted

技术标签:

【中文标题】如何在安全站点上使用 nodejs ws 模块【英文标题】:How to use nodejs ws module on secure site 【发布时间】:2020-09-15 17:43:58 【问题描述】:

我正在使用以下代码连接到用于 HTTP 的节点 js 应用程序上的 WebSocket,但在 HTTPS 中不起作用。我需要改变什么?有没有node js ws模块的安全版本?

const WebSocket = require('ws');

webSocketServer.on('connection', (webSocket) => 
    webSocket.on('message', (message) => 
        ...
        );
    );

【问题讨论】:

【参考方案1】:

有时阅读 nodejs ws 模块文档是值得的:

let webSocketServer;    
if (!local) 
    const server = https.createServer(
        cert: fs.readFileSync("/... server.crt"),
        key: fs.readFileSync("/... server.key")
        );
    webSocketServer= new WebSocket.Server( server );
    server.listen(8080);        
    
else webSocketServer = new WebSocket.Server( port:8080 );

在客户端,您需要使用 wss:// 而不是 ws://

调用它

【讨论】:

以上是关于如何在安全站点上使用 nodejs ws 模块的主要内容,如果未能解决你的问题,请参考以下文章

Node JS - 你如何判断一个套接字是不是已经使用 Einaros WS 套接字模块打开?

如何在linux上开设使用ssl安全连接的站点

如何在 MongoDB 中为 NodeJS Express 应用程序存储站点配置?

如何从 nodejs 服务器订阅 ws websocket 到另一台服务器?

WAMP.ws:如何管理安全和隐私?

Nodejs进阶:crypto模块中你需要掌握的安全基础知识