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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
利用NodeJS的子进程(child_process)调用系统命令的方法分享
Jun 05 NodeJs
基于NodeJS的前后端分离的思考与实践(二)模版探索
Sep 26 NodeJs
Nodejs极简入门教程(一):模块机制
Oct 25 NodeJs
NodeJS学习笔记之Connect中间件模块(一)
Jan 27 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
用nodejs搭建websocket服务器
Jan 23 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
nodejs中各种加密算法的实现详解
Jul 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
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
PHP运行模式汇总
2016/11/06 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
js选择器全面解析
2016/06/27 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
深入解读Python解析XML的几种方式
2016/02/16 Python
对Python3中的input函数详解
2018/04/22 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
Python如何输出警告信息
2020/07/30 Python
phpquery中文手册
2021/03/18 PHP
台湾最大网路书店:博客来
2018/03/18 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
Linux中如何用命令创建目录
2015/01/12 面试题
宾馆仓管员岗位职责
2014/07/27 职场文书
2014年党委工作总结
2014/11/22 职场文书
保护校园环境倡议书
2015/04/28 职场文书
厉行节约工作总结
2015/08/12 职场文书
tree shaking对打包体积优化及作用
2022/07/07 Java/Android
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python