【问题标题】:localhost reverse-proxy using npm's express-http-proxy使用 npm 的 express-http-proxy 进行 localhost 反向代理
【发布时间】:2017-06-14 11:26:23
【问题描述】:

我有一个反向代理网关,可以在云端使用 express-http-proxy 完美运行。

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

我希望我可以设置:

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

所有应用程序似乎都在 localhost 上各自的端口上工作,但是当通过 express-http-proxy 的请求获得 504 超时。 我尝试将请求反向代理到 Internet 上的其他站点,发现它可以工作,但是将内容代理到 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 包无法实现的吗?

【问题讨论】:

  • 我认为正在发生的事情是端口 # :3003 正在从请求中剥离。有没有我试图寻找“forwardPort”选项,但 express-http-proxy 似乎不支持该选项?

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


【解决方案1】:

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

如果该软件包包含 forwardPort 选项,那将是一个很好的解决方案:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 2021-04-08
    相关资源
    最近更新 更多