ノードアプリで特定のリクエストをプロキシするために、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
}
});
// ...
残念ながら、ターゲットを呼び出すときにプレフィックスが追加されることはありません。どうすればこれを実現できるかについて誰か考えがありますか?