【问题标题】:Node proxy origin rewrite while matching routes匹配路由时节点代理源重写
【发布时间】:2020-10-29 13:40:01
【问题描述】:

我想为某些开发目的设置反向代理。我已经在这些位置启动并运行了两项服务:

  • http:localhost:9000/application/rest (restful api)
  • http:localhost:4000/application(服务于我的 react 应用)

我想设置一个代理来路由:

  • http:localhost/application/rest/* => http:localhost:9000/application/rest/*
  • http:localhost/application/* => http:localhost:4000/application/*

换句话说,我想在匹配路线时重写原点。我在看https://github.com/http-party/node-http-proxy,但我没有找到这个选项。还有什么其他选择?

【问题讨论】:

  • 还有什么问题?
  • 我用node-http-proxy 尝试了各种解决方案,我发现它们都不起作用。下面一起来看看吧。我终于找到了解决办法。

标签: node.js proxy http-proxy


【解决方案1】:

我找到了使用expresshttp-proxy-middleware 的解决方案:

const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');

const app = express();
app.use('/application/rest', createProxyMiddleware({ target: 'http://localhost:9000', changeOrigin: true }));
app.use('/application', createProxyMiddleware({ target: 'http://localhost:4000', changeOrigin: true }));
app.listen(80);

也许它会对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 1970-01-01
    • 2013-08-23
    • 2014-09-18
    • 1970-01-01
    • 2015-04-03
    • 2020-07-05
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多