localhost反向代理使用npm的express-http-proxy

时间:2017-01-29 01:20:43

标签: node.js express proxy localhost reverse-proxy

我是一个反向代理网关,在云端使用express-http-proxy时效果很好。

但是,我一直试图让系统在localhost上运行,以便我可以更快地发展。

我希望我能成立:

Gateway on localhost:3001
API on localhost:3002
MobileWeb on localhost:3003

所有应用程序似乎都在localhost上的各自端口上工作,但是当通过express-http-proxy的请求获得504超时时。 我尝试将请求反向代理到互联网上的其他网站,并发现它有效,但是代理到localhost:3002,或localhost:3003并没有向他们转发任何内容。

app.get('/', expressProxy('localhost:3003', {
  https: false, //don't use https on localhost
  forwardPath: function(req, res){
    return 'SplashPage';
  }
}));

有什么建议吗?使用express-http-proxy包这是不可能的?

1 个答案:

答案 0 :(得分:0)

似乎问题出在express-http-proxy上,并且它倾向于从代理目标中剥离端口并将其替换为:80

对于包含forwardPort选项的包而言,这将是一个很好的修复:

解决方案:我停止使用npm的express-http-proxy并将其换成npm的http-proxy。似乎更加强大,当然没有添加端口的问题。