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与Mysql的交互示例代码
Aug 18 NodeJs
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
提高NodeJS中SSL服务的性能
Jul 15 NodeJs
Windows 系统下设置Nodejs NPM全局路径
Apr 26 NodeJs
nodejs连接mongodb数据库实现增删改查
Dec 01 NodeJs
nodejs服务搭建教程 nodejs访问本地站点文件
Apr 07 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
nodejs操作mongodb的增删改查功能实例
Nov 09 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
Mar 02 NodeJs
nodejs实现UDP组播示例方法
Nov 04 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 07 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
php+mysql写的简单留言本实例代码
2008/07/25 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
php支付宝APP支付功能
2020/07/29 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
不安全的常用的js写法
2009/09/15 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
python中的sort方法使用详解
2014/07/25 Python
python 列表降维的实例讲解
2018/06/28 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
关于打架的检讨书
2014/01/17 职场文书
少年闰土教学反思
2014/02/22 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL