我使用haproxy v1.9.2
。我想将每秒调用的URI数量限制为100个请求。
当我使用errorfile 503
指令时,一切正常。但是,当我使用server
指令返回另一个响应时,stick表的计数器不断增加。
frontend main
bind *:80
acl foo_limited_req sc_http_req_rate(0) ge 100
http-request track-sc0 path table Abuse # Set the URI as the key of the table
use_backend bk1 if foo_limited_req
default_backend web
backend web
server web1 192.168.0.10
backend Abuse
stick-table type string len 128 size 100K expire 30m store http_req_rate(1s)
backend bk1
server listenerror 127.0.0.1:81
listen errorlistener
bind 127.0.0.1:81
mode http
errorfile 503 /etc/haproxy/errors/200-tuned.http
以上工作正常。但是,当我用下一个替换listen errorlistener
节时,操纵杆表的计数器不断增加,超过了100个限制。为什么?
listen errorlistener
bind 127.0.0.1:81
mode http
server server1 192.168.0.10:8000
N.B:server1仅返回204 No Content响应。