配置 HAProxy 根据 url_param 路由流量

配置 HAProxy 根据 url_param 路由流量

我对 HAProxy 还很陌生。我花了几个小时试图弄清楚如何操作,但没有得到任何线索。我的需求是这样的:

如果请求的终点是/special,那么我需要检查URL_PARAM。

例如:localhost/special?id=10 根据 ID,我需要将其路由到 3 个服务器中的其中一个。如果 id <=3 则路由到 server1,如果 id > 3 且 id <=6 则路由到 server2,否则路由到 server3。

如果端点不是/特殊,则在所有 3 个服务器之间进行循环。

我如何实现这两级平衡?

答案1

您可以使用acl location_special path /special 匹配 url 和acl srv_1 urlp_val(id) -m int eq 0:3 匹配id=参数。最后

use-server server1 if location_special srv_1

将请求映射到特定服务器

相关内容