HAProxy是否可以将请求定向到特定的服务器?

我能否让haproxy根据url重定向到特定服务器?

例如:我有一个如下所示的传入请求

GET /servers/1234/stats

对于这个请求,我想对http://centralhost/servers进行GET请求,这将返回一个包含{id,ip}的数组,

找到带有id 1234的服务器……并向调用者返回http://1234的ip/stats的值。

我猜想Lua会在这里帮助我,但我没有找到任何与haproxy一起使用Lua的好例子。

有人知道怎么做吗?

点赞
用户2742403
用户2742403

以下是使用 ACL 的一个想法,如果服务器数量较少,可以将它们静态添加到配置文件中。基于 URL 中的 ID,您可以将请求重定向到相应的服务器。 根据这个帖子的答案:https://serverfault.com/questions/481801/haproxy-redirects-and-matching-based-off-uri

  frontend public
       bind *:80
       acl has_id path_beg -i /1234
       use_backend 1234_server_ip if has_id

  backend 1234_server_ip
       server server_name 10.1.1.3:8080 check
2015-10-12 15:34:57