HAProxy ограничение скорости на основе URL - PullRequest
0 голосов
/ 23 января 2020

Я использовал конфигурацию для ограничения скорости на основе URL в соответствии с «https://www.haproxy.com/blog/four-examples-of-haproxy-rate-limiting/», но эта конфигурация не работает.


frontend website
    bind :80

    stick-table  type binary  len 8  size 100k  expire 10s  store http_req_rate(10s)

    # Track client by base32+src (Host header + URL path + src IP)
    http-request track-sc0 base32+src

    # Check map file to get rate limit for path
    http-request set-var(req.rate_limit) path,map_beg(/etc/haproxy/rates.map,5)

    # Client's request rate is tracked
    http-request set-var(req.request_rate)  base32+src,table_http_req_rate()

    # Subtract the current request rate from the limit
    # If less than zero, set rate_abuse to true
    acl rate_abuse var(req.rate_limit),sub(req.request_rate) lt 0

    # Deny if rate abuse
    http-request deny deny_status 429 if rate_abuse

...