Nodejs搭建wss服务器教程

本文为大家分享了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颁发的受信任证书就不需要了
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-05-23

利用node.js如何搭建一个简易的即时响应服务器

前言 本文默认您已经按照 nodejs 如果没有安装请安装,安装教程可以查看这篇文章,下面废话不多说,下面来看看这篇文章详细的内容介绍吧. 前提需要创建一个 前端项目 1. 创建一个html文件 写入以下内容 需要说明的是  /socket.io/socket.io.js 这个文件 服务器会生成 使用方法在 node_modules\socket.io\lib\socket.js里面 2. 创建一个js文件  (我的文件名字叫sock.js) 这个js文件是需要运行的文件 里面的代码都有注释 3

详解Node项目部署到云服务器上

本篇介绍了Node项目部署到云服务器上,小编觉得不错,分享给大家,具体如下: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效,非常适合运行在分布式设备的数据密集型的实时应用.Node.js 的包管理器 npm,是全球最大的开源库生态系统.典型的应用场景包括: 实时应用:如在线聊天,实时通知推送等等(如socket.io) 分布式应用:通过高

Node做中转服务器转发接口

由于项目在做前后端分离,牵扯跨域和夸协议问题,临时抱佛脚,选择用nodejs做中转,我想应该好多人都用它.但是做普通的表单转发没啥问题,当处理附件上传转发时,各种蛋疼,已解决! 1.项目比较特殊,后台拥有两个平台,一个java一个donet,比较鸡肋,具体什么原因就不解释了. 2.当做node转发时,刚开始没有转发文件的操作,就做的很简单,用户传过来啥就,拦截到,进行转发,一切都很ok! 3.文件转发,就很麻烦.我的思路,将用户上传的文件存到node服务器.使用formidable  . 通过n

Node.js 实现简单的接口服务器的实例代码

通过Node.js来实现接口服务器的功能.主要特点为: 1) 增加接口不需要重启 2) 异步执行,但接口阅读的时候是同步的代码(从上而下),或者可以按需求并行,串行 这里只是抛出基本思路,所以使用GET,也没有加密之类的 首先启动监听端口,配置好访问规则.(通过识别特定URL ,动态执行相应的接口脚本) ----- |----HamstrerServlet | ------ command3G | ------ login.js //登录脚本(这里只是简单演示) | --- server.js

使用node.js对音视频文件加密的实例代码

废话不多说了,直接给大家贴代码了,具体代码如下所示: fs.readFile('./downsuccess/'+name+'', {flag: 'r+', encoding: ''}, function (err, data) { console.log('读取中') if(err) { return; } let b = new Buffer(data); let c = b.toString('hex'); let cipherBuffer = _this.cipher(data); fs.

Node.js实现简单的爬取的示例代码

学习[node.js]也有几天时间了,所以打算写着练练手:索然我作为一个后端的选手,写起来还有那么一丝熟悉的感觉.emmm~~ '货'不多讲 ,开搞........ 首先是依赖选择: 代码块如下: //引入依赖 //https请求 const https = require('https'); //简称node版的jquery const cheerio = require('cheerio'); //解决防止出现乱码 const iconv = require('iconv-lite') //

node.js实现博客小爬虫的实例代码

前言 爬虫,是一种自动获取网页内容的程序.是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化. 这篇文章介绍的是利用node.js实现博客小爬虫,核心的注释我都标注好了,可以自行理解,只需修改url和按照要趴的博客内部dom构造改一下filterchapters和filterchapters1就行了! 下面话不多说,直接来看实例代码 var http=require('http'); var Promise=require('Bluebird'); var cheeri

Node.js创建Web、TCP服务器

使用http模块创建Web服务器 Web服务器的功能: 接受HTTP请求(GET.POST.DELETE.PUT.PATCH) 处理HTTP请求(自己处理,或请求别的程序处理) 做出响应(返回页面.文件.各类数据等) 常见的Web服务器架构: Nginx.Apache:负责接受HTTP请求,确定谁来处理请求,并返回请求的结果 php-fpm / php模块:处理分配给自己的请求,并将处理结果返回给分配者 常见请求种类: 请求文件:包括静态文件(网页.图片.前端JavaScript文件.css文件

node.js使用http模块创建服务器和客户端完整示例

本文实例讲述了node.js使用http模块创建服务器和客户端.分享给大家供大家参考,具体如下: node.js中的 http 模块提供了创建服务器和客户端的方法,http 全称是超文本传输协议,基于 tcp 之上,属于应用层协议. 一.创建http服务器 const http = require('http'); //创建一个http服务器 let server = http.createServer(); //监听端口 server.listen(8888, '0.0.0.0'); //设置

详解用node.js实现简单的反向代理

之前用node.js实现简单的反向代理,最近需要回顾,就顺便发到随笔上了 不多说直接上代码! const http = require('http'); const url = require('url'); const querystring = require('querystring'); http.createServer(function(oreq, ores) { console.log("服务已开启"); if (oreq) { if (oreq.url !== '/fa

Centos7 中 Node.js安装简单方法

最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos 终端登录 $ ssh root@192.168.0.23 IP可以是局域网内或者公网IP. 下载node 根据你的系统,在官网找到 https://nodejs.org/en/download/ 你需要下载的版本.比如我选择的 Linux Binaries (x86/x64) 64bit ,点击右键

node.js 一个简单的页面输出实现代码

安装过程就不说了.如果成功是能使用node的命令.node.js调试是非常方便的.每种后台语言都有一个向那个黑黢黢的控制台团输出语用的命令.node.js沿用FF那套东西,也就是console对象与其方法.我们首先建一个example.js文件,内容如下,然后在控制台打开它. 复制代码 代码如下: console.log("hello node.js") for(var i in console){ console.log(i+" "+console[i]) } n

Node.js 实现简单的无侵入式缓存框架的方法

前言 python 的flask.ext.cache 通过注解这样对方法返回结果进行缓存: @cache.cached(timeout=300, key_prefix='view_%s', unless=None) def hello(name=None): print 'view hello called' return render_template('hello.html', name=name) 这类实现方式对业务逻辑没有丝毫的侵入性,非常之优雅. 最近在做 Node.js 地项目,然而