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 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
我的NodeJs学习小结(一)
Jul 06 NodeJs
NodeJS整合银联网关支付(DEMO)
Nov 09 NodeJs
nodejs连接mongodb数据库实现增删改查
Dec 01 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
详解nodejs操作mongodb数据库封装DB类
Apr 10 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
nodejs创建简易web服务器与文件读写的实例
Sep 07 NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
Sep 08 NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 NodeJs
Nodejs 识别图片类型的方法
Aug 15 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 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
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
JTrackBar水平拖动效果
2007/07/15 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
如何提高数据访问速度
2016/12/26 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
react路由配置方式详解
2017/08/07 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
python——全排列数的生成方式
2020/02/26 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
深入理解Python 多线程
2020/06/16 Python
python asyncio 协程库的使用
2021/01/21 Python
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
大学生自我评价怎样写好
2013/10/23 职场文书
触摸春天教学反思
2014/02/03 职场文书
学雷锋演讲稿
2014/03/04 职场文书
办理房产证委托书
2014/09/18 职场文书
廉政承诺书
2015/01/19 职场文书
运动会表扬稿范文
2015/05/05 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
通知怎么写?
2019/04/17 职场文书