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学习小结(一)
Jul 06 NodeJs
nodejs下打包模块archiver详解
Dec 03 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
详解nodejs 文本操作模块-fs模块(五)
Dec 23 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
详解nodejs实现本地上传图片并预览功能(express4.0+)
Jun 28 NodeJs
让nodeJS支持ES6的词法----babel的安装和使用方法
Jul 31 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
nodejs用gulp管理前端文件方法
Jun 24 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 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 日期时间函数的高级应用技巧
2009/10/10 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
Python中的map、reduce和filter浅析
2014/04/26 Python
Python随机生成彩票号码的方法
2015/03/05 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
python爬取51job中hr的邮箱
2016/05/14 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
工程质量承诺书范文
2014/03/27 职场文书
内勤主管岗位职责
2014/04/03 职场文书
保护环境建议书100字
2014/05/13 职场文书
市场营销毕业求职信
2014/08/07 职场文书
工会积极分子个人总结
2015/03/03 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
初中地理教学反思
2016/02/19 职场文书