美文网首页
node本地搭建http和https服务

node本地搭建http和https服务

作者: 知晓报到 | 来源:发表于2023-06-05 15:55 被阅读0次

    前端开发经常需要本地启动服务用来调试页面或者代理数据,下面分别实现http和https两种方式

    http服务搭建

    1.在空文件夹内新建server.js文件,内容如下

    const http = require("http");

    const server = http.createServer((req, res) => {

      res.writeHead(200, { "Content-Type": "text/html;charset=utf8" });

      res.end("访问成功");

    });

    server.listen(8001, () => {

      console.log("服务已开启");

    });

    2.运行server.js

    node server.js

    3.浏览器访问

    http://localhost:8001

    https服务搭建

    生成证书和密钥,证书构建基于mkcert工具,例子基于macOS系统

    1.安装mkcert

    brew install mkcert

    2.生成根证书

    mkcert -install

    3.创建空文件夹

    创建一个空文件夹用于储存生成的密钥和证书

    mkdir ca

    cd ca

    4.生成所需域名需要的证书和密钥

    mkcert test.mkcert.abc.com

    执行成功后在ca文件夹下会生成 test.mkcert.abc.com-key.pem 和 test.mkcert.abc.com.pem 两个文件

    5.在ca文件夹下创建server.js文件,内容如下

    const https = require("https");

    const fs = require("fs");

    const path = require("path");

    const options = {

      key: fs.readFileSync(

        path.join(__dirname, "./test.mkcert.abc.com-key.pem")

      ),

      cert: fs.readFileSync(path.join(__dirname, "./test.mkcert.abc.com.pem")),

    };

    const server = https.createServer(options, (req, res) => {

      res.writeHead(200, { "Content-Type": "text/html;charset=utf8" });

      res.end("访问成功443");

    });

    server.listen(443, () => {

      console.log("服务已开启");

    });

    6.修改/etc/hosts文件

    加入

    127.0.0.1 test.mkcert.abc.com

    浏览器访问test.mkcert.abc.com

    相关文章

      网友评论

          本文标题:node本地搭建http和https服务

          本文链接:https://www.haomeiwen.com/subject/wtfwedtx.html