本地https快速解决方案——mkcert
参考:https://www.jianshu.com/p/7cb5c2cffaaa
一:安装Homebrew
(一)环境配置
sudo apt-get update sudo apt-get upgrade -y sudo sudo apt-get install -y build-essential make cmake scons curl git \ ruby autoconf automake autoconf-archive \ gettext libtool flex bison \ libbz2-dev libcurl4-openssl-dev \ libexpat-dev libncurses-dev
(二)git获取
为了保持整洁,克隆LinuxBrew成用户的主目录中的隐藏目录:
git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew
(三)修改环境变量~/.bashrc
export PATH="$HOME/.linuxbrew/bin:$PATH" export LD_LIBRARY_PATH="$HOME/.linuxbrew/lib:$LD_LIBRARY_PATH" export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles" #更新brew源
使得修改生效:
source ~/.bashrc
(四)更新brew
brew update
二:安装mkcert
(一)安装mkcert
brew install mkcert
(二)测试mkcert
三:安装证书
(一)生成根证书
mkcert -install
(二)本地新建一个文件夹,并进入到该目录(用于存储证书)
mkdir ca
cd ca
也可不用放在项目中,通用的解决方案是放在磁盘中,比如用户目录(/User)
(三)生成所需域名对应的本地证书,比如learn.webrtc.com
1.修改hosts文件 /etc/hosts
127.0.0.1 learn.webrtc.com
2.生成所需域名对应的本地证书
mkcert learn.webrtc.com
命令执行完之后,在该文件下会生成 learn.webrtc.com-key.pem (私钥)和 learn.webrtc.com.pem (证书)两个文件,也就是https
配置需要的文件。
(四)开始使用nodejs实现本地https服务
'use strict' var https = require("https"); //引入https库 var fs = require("fs"); //文件系统,用来读取证书 var options = { key : fs.readFileSync("./ca/learn.webrtc.com-key.pem"), //同步读取文件key cert: fs.readFileSync("./ca/learn.webrtc.com.pem"), //同步读取文件证书 }; var app = https.createServer(options,function(request,response){ response.writeHead(200,{ 'Content-Type':"text/plain;charset=utf-8" }); response.write("Hello World\n"); //页面输出 response.end(); //页面结束 }).listen(8080,'0.0.0.0');
(五)服务启动验证
1.启动https服务
node 02_server_https.js
2.访问https服务
https://learn.webrtc.com:8080/
使用openssl和nodejs搭建本地https服务