前端开发经常需要本地启动服务用来调试页面或者代理数据,下面分别实现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
网友评论