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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
windows系统下简单nodejs安装及环境配置
Jan 08 NodeJs
nodejs教程 安装express及配置app.js文件的详细步骤
May 11 NodeJs
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
NodeJS使用jQuery选择器操作DOM
Feb 13 NodeJs
nodejs实现HTTPS发起POST请求
Apr 23 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
Express与NodeJs创建服务器的两种方法
Feb 06 NodeJs
基于nodejs+express4.X实现文件下载的实例代码
Jul 13 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 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
php5.5新数组函数array_column使用
2013/07/08 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
Python循环语句之break与continue的用法
2015/10/14 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
Python实现的堆排序算法示例
2018/04/29 Python
基于python实现名片管理系统
2018/11/30 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
2016春节家属慰问信
2015/03/25 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
运动会宣传语
2015/07/13 职场文书
三十年同学聚会感言
2015/07/30 职场文书
深入理解python协程
2021/06/15 Python
vue实现在data里引入相对路径
2022/06/05 Vue.js