两个本地节点服务器和基于指定路径的代理流量

时间:2017-11-28 21:50:04

标签: node.js nginx npm proxy

我正在寻找一种方法来执行以下操作:

鉴于两台服务器在不同端口上本地运行:

  • localhost:3001
  • localhost:3002

我希望在端口3000上运行的第三台服务器将所有流量路由到localhost:3001,但特定的白名单路径除外。我想要一个配置文件来指定路径。例如。

* localhost:3001
/example localhost:3002

在这种情况下,所有流量都代理到3001,但代理到/example的路线localhost:3002/example除外。

对于任何请求,我都不希望重定向3000。我希望这个中介服务器出现在唯一的网站上。所以我相信我希望在端口3000上运行的服务器成为其他两个服务器的代理。

我有兴趣通过nginx或node.js / npm模块(如果可用)执行此操作。这可能吗?这样做的简单方法是什么?

1 个答案:

答案 0 :(得分:0)

Nginx应该能够完美地完成这项工作 通常它被用作位于其他机器上的应用程序服务器的Web层,但从技术上讲,使用具有不同端口的相同主机没有什么不同。

您只需在{nginx配置中将localhost:3002localhost:3001定义为proxy_paths。

如果你不熟悉nginx,这可以是一个很好的起点: https://www.nginx.com/resources/wiki/start/