HAProxy:获取粘表大小

问题描述 投票:0回答:1

如果活跃用户数量超过所需阈值,我想设置新用户连接限制。用户通过 http 连接到负载均衡器。我使用

stick-table
来限制每个用户的 http 请求量(通过唯一的 ip):

frontend echo
    bind *:8881
    mode http

    stick-table  type ipv6 size 100 expire 100s store http_req_rate(10s)
    http-request track-sc0 src
    http-request deny deny_status 429 if { src_http_req_rate gt 100 }

    use_backend echo

如何获取

stick-table
中包含的“活跃”用户的当前IP地址数量(看起来我必须获取表的当前大小)?

haproxy haproxy-ingress
1个回答
1
投票

table_cnt
在这里可能会有帮助
像这样的东西:

http-request deny deny_status 429 if { table_cnt gt 80 }

在您的粘表的情况下,如果您在过去 100 秒内获得超过 80 个唯一 IP,这将阻止用户。

© www.soinside.com 2019 - 2024. All rights reserved.