2015-09-18 2 views
0

Http-Proxy, как и адаптер, добавляет «/ store-name» в последнюю указанную мной прокси-цель.
Я хочу иметь полный контроль над URL-адресом, или, по крайней мере, я должен добавить суффикс к URL-адресу.Как я могу увидеть/изменить окончательный URL-адрес, на который попадает HTTP-прокси-сервер

Файл server/proxies/members.js выглядит так для меня.

var proxyPath = '/members'; 

module.exports = function(app) { 
// For options, see: 
// https://github.com/nodejitsu/node-http-proxy 
var proxy = require('http-proxy').createProxyServer({}); 

proxy.on('error', function(err, req) { 
console.error(err, req.url); 
}); 

app.use(proxyPath, function(req, res, next){ 
// include root path in proxied request 
req.url = proxyPath + '/' + req.url; 
proxy.web(req, res, { target: 'http://localhost:8082/connection/testdb?tablename=' }); 
}); 
}; 

В качестве последнего URL этот случай выглядит

"http://localhost:8082/connection/testdb?tablename=/members/"

вместо я хочу

http://localhost:8082/connection/testdb?tablename=storename

PS: Есть что-то вроде «buildURL = URL», возможно в HTTP-прокси

ответ

0

Я неясно точно, что вы пытаетесь сделать, но взять взгляд на prependPath и ignorePath вариантов для proxy.createProxysServer() (https://github.com/nodejitsu/node-http-proxy#options)

Update: настроить proxyReq обработчик на прокси-объект, и вы можете управлять тракту любым способом, который вы хотите. Например:

proxy.on('proxyReq', function(proxyReq, req, res, options) { 
    proxyReq.path = '/custom/path/here'; 
}); 
+0

при создании прокси URL 'HTTP: // локальный: 8080', и ударил его с' Em.store.findAll ('член') ', теперь, если вы проверить URL пройденному url is http: // localhost: 8080/members/'.Hence' "/ members /" 'похоже, добавляется по умолчанию , что я прошу, как я могу изменить этот url на что-то еще ex:' http: // локальный: 8080/член имя_таблицы = table', т.е. добавьте суффикс или даже удалите принудительное добавление ''/members/"'. ? – sidharth