http-proxy-middleware route / path-rewrite中的动态端口

时间:2018-01-22 06:46:10

标签: node.js http-proxy-middleware

是否可以使用http-proxy-middleware执行以下路由/路径重写?

'/ sec / port / xxx / yyy'=>目标: 'https://someotherSite.com:port/xxx/yyy'

其中端口是动态的,具体取决于初始地址,即

/ sec / 1234 / xxx / yyy => https://someotherSite.com:1234/xxx/yyy

我正在使用快递服务器。

1 个答案:

答案 0 :(得分:0)

您需要重写路径以便删除/ api / PORT,这可以在pathRewrite函数中完成。 newPort是从req的原始url split的第二个索引获得的端口值。

路由器从request参数获取所需的端口号,并简单地将其连接为返回值,将目标动态地更改为localhost:PORTNUM。

希望这有帮助。

proxyTable: {
'/api': {
    target: 'http://localhost',
    changeOrigin: true,
    pathRewrite:
        function(path,req) {
            //Get the port number
            var newPort = req.originalUrl.split('/')[2];
            //Return the path with the api and portname removed
            return path.replace('/api/'+newPort,'');
        },
    router: function(req) {
        var newPort = req.originalUrl.split('/')[2];
        //Dynamically update the port number to the target in router
        return 'http://localhost:'+newPort;
    }
}