【发布时间】:2023-03-26 16:34:01
【问题描述】:
我正在运行 HAproxy 1.8 并尝试使用 Stick-table 跟踪通用计数器,但每次 ACL 调用它时它都不会返回 true。
我的期望是;一旦计数器超过 5,ACL 将导致它转到不同的后端。可能出了什么问题?
# default block configs are set to http settings
frontend my_service
bind *:80
tcp-request inspect-delay 5s
acl bad_request sc0_get_gpc0(my_service_bk) gt 5
use_backend my_service_bad_bk if bad_request
default_backend my_service
backend my_service_bad_bk
errorfile 503 /etc/haproxy/429.http
backend my_service
http-request track-sc0 req.fhdr(X-My-Service)
http-response sc-inc-gpc0 if { status gt 399 }
stick-table type string len 350 size 10m expire 10m store gpc0
balance roundrobin
server .....
server .....
我查看了 Stick-table 统计信息,它在 6 次请求后显示:
0x7f2279cdsa42: key=test use=0 exp=278850 gpc0=6
它仍然将它发送到错误的后端 (my_service)
【问题讨论】:
标签: load-balancing acl haproxy