0

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

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

根据初始地址,端口是动态的,即

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

我正在使用快递服务器。

4

1 回答 1

0

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

路由器从请求参数中获取所需的端口号,并简单地将其连接为返回值,将目标动态更改为 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;
    }
}
于 2018-01-23T22:54:54.277 回答