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的10个性能优化技巧
Jul 15 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 NodeJs
Nodejs 和Session 原理及实战技巧小结
Aug 25 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
Feb 02 NodeJs
Nodejs中的require函数的具体使用方法
Apr 02 NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 NodeJs
nodejs制作小爬虫功能示例
Feb 24 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操作xml代码
2010/06/17 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
Python 操作MySQL详解及实例
2017/04/30 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
tensorflow多维张量计算实例
2020/02/11 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
企划经理的岗位职责
2013/11/17 职场文书
安全横幅标语
2014/06/09 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers