腾讯云Windows Server下nodejs websocket ssl配置
1.从腾讯云申请SSL证书,下载解压,得到如下文件:
2.nodejs代码:
1 // wss.js 2 3 const fs = require('fs'); 4 5 // 一些配置信息 6 const cfg = { 7 port: 8888, 8 ssl_key: 'ssl.key', //这里填Apache中的 3_[域名].key 文件 9 ssl_cert: 'ssl.crt', //这里填Apache中的 2_[域名].crt 文件 10 ssl_ca:'root_bundle.crt' //这里填Apache中的 1_root_bundle.crt文件 11 }; 12 13 const httpServ = require('https'); 14 const WebSocketServer = require('ws').Server; // 引用Server类 15 16 // 创建request请求监听器 17 const processRequest = (req, res) => { 18 res.writeHead(200); 19 res.end('厉害了,我的WebSockets!\n'); 20 }; 21 22 const app = httpServ.createServer({ 23 // 向server传递key和cert参数 24 key: fs.readFileSync(cfg.ssl_key), 25 cert: fs.readFileSync(cfg.ssl_cert), 26 ca: fs.readFileSync(cfg.ssl_ca) 27 }, processRequest).listen(cfg.port); 28 29 // 实例化WebSocket服务器 30 const wss = new WebSocketServer({ 31 server: app 32 }); 33 // 如果有WebSocket请求接入,wss对象可以响应connection事件来处理 34 wss.on('connection', (wsConnect) => { 35 console.log('服务器已启动,监听中~'); 36 wsConnect.on('message', (message) => { 37 console.log(`服务器接收到:${message}`); 38 wsConnect.send(`服务器回复: ${message}`, (err) => { 39 if (err) { 40 console.log(`服务器错误:${err}`); 41 } 42 }); 43 }); 44 });
参考:
https://blog.csdn.net/u013052238/article/details/81234898
https://blog.csdn.net/chaoshengze/article/details/78406039?locationNum=5&fps=1