Nodejs在局域网配置https访问的实现方法


Posted in NodeJs onOctober 17, 2020

零、需求:

做一个局域网WebRTC视频聊天系统,需要用到HTTPS。因此,配置Node.js使其支持HTTPS访问。

一、解决

在线生成和证书
访问:https://csr.chinassl.net/generator-csr.html
填写好之后点生成即可,我们可以下载到两个文件。
这里我的域名是192.168.110.10,得到192.168.110.10_csr.txt192.168.110.10_key.txt这两个文件(妥善保存)。

然后再访问:https://csr.chinassl.net/free-ssl.html
192.168.110.10_csr.txt文件里的内容粘贴到代码框里,点获取免费证书之后可以下载到一个192.168.110.10_ssl.crt文件。

配置Node.js
参考Node.js配置源,确保已经配置好cnpm了。

安装express模块:

cnpm install express --save

安装express模块的相关依赖:

cnpm install body-parser --save
cnpm install cookie-parser --save
cnpm install multer --save

安装完成后可以查看express的版本号:

cnpm list express

使用HTTPS
192.168.110.10_key.txt192.168.110.10_ssl.crt(名字可能不同,但是格式是这样的)复制到你服务器程序同级目录下,比如我的目录就这三个文件:

192.168.110.10_key.txt
192.168.110.10_ssl.crt
app.js

app.js

//导入模块
const fs = require('fs')// 文件输入输出,用来导入证书    
const https = require('https')// https服务器 
const express = require('express')// express模块导入

//读取证书
const privateKey = fs.readFileSync('192.168.110.10_key.txt', 'utf8')
const certificate = fs.readFileSync('192.168.110.10_ssl.crt', 'utf8')

// 创建 express 应用
const app = express()
// 监听 / 路径的 get 请求
app.get('/', function(req, res) {
 res.send('Hello Word!')
})


const credentials = { key: privateKey, cert: certificate }
const httpsServer = https.createServer(credentials, app)
const SSLPORT = 443
httpsServer.listen(SSLPORT, function() {
 console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT)
})

使用Node.js运行app.js

node app.js

Nodejs在局域网配置https访问的实现方法

设置信任这个证书就可以了~

成功配置Node.js使用HTTPS在局域网内访问!

二、总结

参考地址:
https://www.runoob.com/nodejs/nodejs-express-framework.html
https://www.jianshu.com/p/8b7b7d4d9992

到此这篇关于Nodejs在局域网配置https访问的实现方法的文章就介绍到这了,更多相关Nodejs局域网https访问内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

NodeJs 相关文章推荐
nodejs入门详解(多篇文章结合)
Mar 07 NodeJs
NodeJS Express框架中处理404页面一个方式
May 28 NodeJs
Nodejs进程管理模块forever详解
Jun 01 NodeJs
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
Nodejs Stream 数据流使用手册
Apr 17 NodeJs
NodeJS整合银联网关支付(DEMO)
Nov 09 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
win系统下nodejs环境安装配置
May 04 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 NodeJs
NodeJS简单实现WebSocket功能示例
Feb 10 NodeJs
nodejs高大上的部署方式(PM2)
Sep 11 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 #NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 #NodeJs
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
Aug 20 #NodeJs
浅谈使用nodejs搭建web服务器的过程
Jul 20 #NodeJs
通过实例了解Nodejs模块系统及require机制
Jul 16 #NodeJs
Nodejs环境实现socket通信过程解析
Jul 03 #NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 #NodeJs
You might like
linux iconv方法的使用
2011/10/01 PHP
PHP中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
工作需要写的一个js拖拽组件
2011/07/28 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
JavaScript中自定义事件用法分析
2014/12/23 Javascript
js同源策略详解
2015/05/21 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
vue interceptor 使用教程实例详解
2018/09/13 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
关于Python Tkinter Button控件command传参问题的解决方式
2020/03/04 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
简单的JAVA编程面试题
2013/03/19 面试题
建筑横幅标语
2014/10/09 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
Python 实现Mac 屏幕截图详解
2021/10/05 Python