如何使用express-http-proxy来使用Node来剥离最终休息

时间:2018-05-26 00:30:47

标签: node.js express npm http-proxy

在我的本地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 :(得分:0)

尝试根据需要使用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;
    }
}));