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入门详解(多篇文章结合)
Mar 07 NodeJs
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 NodeJs
nodejs中实现路由功能
Dec 29 NodeJs
详解Nodejs的timers模块
Dec 22 NodeJs
Express与NodeJs创建服务器的两种方法
Feb 06 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
Nov 01 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 NodeJs
Nodejs对postgresql基本操作的封装方法
Feb 20 NodeJs
Nodejs文件上传、监听上传进度的代码
Mar 27 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 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编写的导航条程序
2006/10/09 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
从零学习node.js之mysql数据库的操作(五)
2017/02/24 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
分享15个最受欢迎的Python开源框架
2014/07/13 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Python学生信息管理系统修改版
2018/03/13 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
python 把列表转化为字符串的方法
2018/10/23 Python
Python 获取div标签中的文字实例
2018/12/20 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Python实现对adb命令封装
2020/03/06 Python
幼师专业毕业生自荐信
2013/09/29 职场文书
项目经理岗位职责
2013/11/11 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
2015年副班长工作总结
2015/05/15 职场文书