zoukankan      html  css  js  c++  java
  • 本地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
    ");                //页面输出
        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服务

  • 相关阅读:
    图的连通性问题之tarjan算法
    图的连通性问题之强连通分量初步
    NOIP 2010 引水入城
    最短路经典例题 codevs 1557 热浪
    图的连通性问题之连通和最小环
    最短路径算法
    《数据结构与算法-Javascript描述》
    蓝天白云
    《慢慢来,一切都还来得及》
    聚餐
  • 原文地址:https://www.cnblogs.com/ssyfj/p/14782767.html
Copyright © 2011-2022 走看看