我正在使用RoutingProxy类(在http-proxy包中找到)来代理我的节点应用程序中的某些请求。但是,我在向目标路径添加前缀时遇到了困难。例如,我正在尝试将http://localhost:8080/stylesheets/main.css
代理为http://172.30.6.11:51161/mysite/stylesheets/main.css
。
这是我正在尝试做的一个愚蠢的例子:
// controllers/proxy.js
var httpProxy = require('http-proxy');
exports.request = function(options){
var proxy = new httpProxy.RoutingProxy();
return function(req, res){
req.url = '/mysite' + req.url;
proxy.proxyRequest(req, res, options);
};
};
// app.js
// ...
var controllers = require('./controllers');
app.use(controllers.proxy.request({
target: {
host: '172.30.6.11',
port: 55161
}
});
// ...
不幸的是,在调用目标时永远不会添加前缀。有没有人知道如何才能实现这一目标?