Nodejs搭建wss服务器教程


Posted in NodeJs onMay 24, 2017

本文为大家分享了Nodejs搭建wss服务器的教程,供大家参考,具体内容如下

首先使用OpenSSL创建自签名证书:

#生成私钥key文件
openssl genrsa 1024 > /path/to/private.pem
//
#通过私钥文件生成CSR证书签名
openssl req -new -key /path/to/private.pem -out csr.pem
//
#通过私钥文件和CSR证书签名生成证书文件
openssl x509 -req -days 365 -in csr.pem -signkey /path/to/private.pem -out /path/to/file.crt

使用ws模块创建wss服务器:

var https=require('https');
var ws=require('ws');
var fs=require('fs');
var keypath=process.cwd()+'/server.key';//我把秘钥文件放在运行命令的目录下测试
var certpath=process.cwd()+'/server.crt';//console.log(keypath);
//console.log(certpath);
 
var options = {
 key: fs.readFileSync(keypath),
 cert: fs.readFileSync(certpath),
 passphrase:'1234'//如果秘钥文件有密码的话,用这个属性设置密码
};
 
var server=https.createServer(options, function (req, res) {//要是单纯的https连接的话就会返回这个东西
 res.writeHead(403);//403即可
 res.end("This is a WebSockets server!\n");
}).listen(15449);
 
 
var wss = new ws.Server( { server: server } );//把创建好的https服务器丢进websocket的创建函数里,ws会用这个服务器来创建wss服务
//同样,如果丢进去的是个http服务的话那么创建出来的还是无加密的ws服务
wss.on( 'connection', function ( wsConnect ) {
 wsConnect.on( 'message', function ( message ) {
  console.log( message );
 });
});

客户端链接:

var ws = new WebSocket('wss://localhost:15449/', {
 protocolVersion: 8,
 origin: 'https://localhost:15449',
 rejectUnauthorized: false //重要,自签名证书只能这样设了。CA颁发的受信任证书就不需要了
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
nodeJS代码实现计算交社保是否合适
Mar 09 NodeJs
Windows系统下使用Sublime搭建nodejs环境
Apr 13 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
Apr 14 NodeJs
浅谈NodeJs之数据库异常处理
Oct 25 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
May 04 NodeJs
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
Jul 31 NodeJs
nodejs制作小爬虫功能示例
Feb 24 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 NodeJs
一文秒懂nodejs中的异步编程
Jan 28 NodeJs
Nodejs中Express 常用中间件 body-parser 实现解析
May 22 #NodeJs
深入理解nodejs中Express的中间件
May 19 #NodeJs
nodejs批量下载图片的实现方法
May 19 #NodeJs
nodejs制作爬虫实现批量下载图片
May 19 #NodeJs
详解Windows下安装Nodejs步骤
May 18 #NodeJs
nodejs+websocket实时聊天系统改进版
May 18 #NodeJs
nodejs6下使用koa2框架实例
May 18 #NodeJs
You might like
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
PHP 日,周,月点击排行统计
2012/01/11 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
vue异步加载高德地图的实现
2018/06/19 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
Python中str.join()简单用法示例
2018/03/20 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
终端业务员岗位职责
2013/11/27 职场文书
商场中秋节活动方案
2014/02/07 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
出租车拒载检讨书
2015/01/28 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
集结号观后感
2015/06/08 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
导游词之五台山
2019/10/11 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
青岛市的收音机研制与生产
2022/04/07 无线电