是否存在基于URL动态路由请求的代理Web服务器?

时间:2016-04-07 08:46:24

标签: node.js nginx proxy

我正在寻找一种如何通过代理网络服务器动态路由请求的方法。我会解释我到底需要什么以及到目前为止我找到了什么。

我想将一些轻量级的网络服务器(思考node.js或nginx)设置为具有公共IP的代理网络服务器。它会根据URL将请求路由到不同的本地Web服务器。但不仅基于主机名,还基于完整的URL。

我的想法是,这个代理网络服务器将使用本地内存缓存,memcached或redis来查找基于键值的URL和本地网络服务器的信息。

我找到了这些项目:

他们似乎都做了类似的事情,但不完全是我想要的,那就是:

  • 基于URL的代理(路由到不同本地Web服务器的绝对URL)
  • 使用基于内存的配置存储/缓存
  • 使用API​​动态更改配置,而无需重新加载代理网络服务器

是否有更适合的项目或有没有办法如何配置上述三个项目之一以满足我的要求?

感谢您提前花时间和精力。

1 个答案:

答案 0 :(得分:1)

我认为这完全符合您的要求:https://openresty.org/en/dynamic-routing-based-on-redis.html

它基本上是带有预编译模块的nginx。您可以使用nginx + lua模块+ redis(当然还有必要的lua岩石)自行设置。 OpenResty让它变得更容易。