是否可以使用http-proxy-middleware执行以下路由/路径重写?
'/ sec / port / xxx / yyy'=>目标: 'https://someotherSite.com:port/xxx/yyy'
其中端口是动态的,具体取决于初始地址,即
/ sec / 1234 / xxx / yyy => https://someotherSite.com:1234/xxx/yyy
我正在使用快递服务器。
答案 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;
}
}