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服务

  • 相关阅读:
    bootstrap table 怎么自适应宽度
    nginx解决超长请求串(413 request Entity too Large错误解决办法)
    nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题
    测试了下boost的序列化反序列化功能
    测试C++代码与WebBrowser HTML的互动
    Open SSL 开发环境配置
    modern-cpp-features
    Qt程序调试之Q_ASSERT断言(条件为真则跳过,否则直接异常+崩溃)
    分布式事务
    Django admin
  • 原文地址:https://www.cnblogs.com/ssyfj/p/14782767.html
Copyright © 2011-2022 走看看