兼容https
1.兼容https实现很简单:在配置项增加secure: false
实现
var { createProxyMiddleware: proxyMiddleWare } = require("http-proxy-middleware");
var proxyOption = {
target: proxyPath,
changeOrigoin: true,
secure: false
};
var app = express();
['/api', '/goods'].forEach(item => {
app.use(item, proxyMiddleWare(proxyOption))
});
使用express实现反向代理(必须有node环境)
- 下载依赖
(1)npm init -y
(2)npm i express http-proxy-middleware -S
- 修改服务启动方式(scripts中配置,使用
nodemon
启动,需全局下载nodemon
,或者更改为node
启动)/package.json
{
"name": "express_back_end",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "nodemon ./app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.18.2",
"http-proxy-middleware": "^2.0.6"
}
}
- 主入口
/app.js
const express = require('express');
const path = require('path')
const config = require('./utils/config')
const { port, target } = config;
var { createProxyMiddleware: proxyMiddleWare } = require("http-proxy-middleware");
var proxyOption = {
target,
changeOrigoin: true,
secure: false
};
const app = express();
// 静态资源
app.use(express.static(path.join(__dirname, 'public')));
// 需代理的路径
['/api', '/goods', '/user'].forEach(item => {
console.log(proxyMiddleWare, 'proxyMiddleWare')
app.use(item, proxyMiddleWare(proxyOption))
});
app.listen(port, () => {
console.log(`\n\n服务启动于:http://localhost:${port}`)
});
- 设置静态资源目录
/public/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
hellow express
</body>
</html>
- 设置配置文件
/utils/config.js
module.exports = {
port: 3000,
target: 'https://100.6.210.56:8210',
}