本地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服務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM