node.js を使用して Web アプリケーションを構築しており、特定のルートを別の Node.js (高速) サーバーにプロキシする必要があります。
私は以下のコードを持っています
var express = require('express'),
http=require('http'),
httpProxy = require('http-proxy'),
proxy = new httpProxy.RoutingProxy();
var server = express();
server.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
server.use(express.logger());
server.use(express.cookieParser());
server.use(express.query());
server.use(express.session({secret:"secret-key", maxAge:10*60*1000}));
server.use(routeRequest);
var routeRequest = function (req, res, next) {
req.url=req.url.substring(1);
if (req.url.indexOf("client")==0) {
proxyToClientServer(9001,req,res)
}else{
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end();
}
}
var proxyToClientServer=function(port, req, res){
req.headers["data_context"]='customer_details';
proxy.proxyRequest(req, res, {
host: 'localhost',
port: port,
headers:req.headers
})
}
server.listen(8000);
私の問題は、リクエストが適切にルーティングされることですが、追加したデータ コンテキスト (カスタム ヘッダー) がターゲット サーバーのリクエストから削除されます。
誰かがプロキシされているサーバーに詳細情報を渡す方法をアドバイスしてもらえますか