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 25 NodeJs
nodejs爬虫抓取数据之编码问题
Jul 03 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
Nodejs回调加超时限制两种实现方法
Jun 09 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
nodejs中实现修改用户路由功能
May 24 NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 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
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
对pandas中to_dict的用法详解
2018/06/05 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
python多线程抽象编程模型详解
2019/03/20 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
Python实现生成bmp图像的方法
2021/06/13 Python