node本地搭建http和https服务

2023-06-05  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读