内置模块 Http Proxy Middleware
通过node中间件http-proxy-middleware做正向代理
-
它可以利用node没有浏览器安全级别的跨域限制解决跨域问题
-
安装 http-proxy-middleware 模块
npm i http-proxy-middleware -S
const http = require('http');
const { createProxyMiddleware } = require('http-proxy-middleware');
const server = http.createServer((req, res) => {
const urlStr = req.url;
if (/^\/api\/v3\/search/.test(urlStr)) {
const proxy = createProxyMiddleware({
target: 'https://so.csdn.net',
changeOrigin: true
});
proxy(req, res);
} else {
console.log('error');
res.write('error');
}
// res.end();
});
server.listen(3000, () => {
console.log('http://localhost:3000');
});
- 以上将 http://localhost:3000/api/v3/search…. 代理成 https://so.csdn.net/api/v3/search....
- 若想重写path,可以添加 pathRewrite 选项,具体可以参见 http-proxy-middleware文档