Как прокси с помощью Node, используя express-http-proxy для удаления финального отдыха - PullRequest
0 голосов
/ 26 мая 2018

В моем локальном JavaScript, я хочу сделать перерыв для вызова

/rest/speakers

и получить его прокси на

http://localhost:2011/rest/speakers

У меня есть следующий код, который не совсем работает какЯ хочу:

var proxy = require('express-http-proxy');
var app = require('express')();
app.use('/rest', proxy('localhost:2011/'));
app.listen(8081, function () {
    console.log('Listening on port 8081');
});

Чтобы заставить прокси работать, мне действительно нужно позвонить

/rest/rest/speakers

Я вроде как понял.Похоже, что я передаю свой /rest в корень localhost:2011, а затем мне нужно погрузиться в /rest этого сервера.Добавление /rest в конец proxy(..) игнорируется.

1 Ответ

0 голосов
/ 05 марта 2019

Попробуйте использовать proxyReqPathResolver, чтобы изменить свой URL при необходимости.

var url = require('url'),
    proxy = require('express-http-proxy');

// ... other app setup here 

app.use('/rest', proxy('localhost:2011', {
    proxyReqPathResolver: function(req, res) {
      return '/rest/rest' + url.parse(req.url).path;
    }
}));
...