如何让haproxy限速工作?

时间:2015-09-24 21:05:28

标签: haproxy

关注http://blog.serverfault.com/2010/08/26/1016491873/,我试图让限速工作。

以下是我配置的相关部分:

frontend myservice
    bind          0.0.0.0:80

    option contstats
    stick-table type ip size 200k expire 10m store gpc0
    acl source_is_abuser src_get_gpc0(myservice) gt 0
    tcp-request inspect-delay 5s
    tcp-request connection track-sc1 src if ! source_is_abuser
    use_backend rate-limit-abuser if source_is_abuser

    mode          http
    option        httplog
    capture       request header Host len 64
    default_backend   myservice_backend


backend myservice_backend
    mode          http
    balance       leastconn

    stick-table type ip size 200k expire 1m store bytes_in_rate(60s)
    tcp-request content track-sc2 src
    acl data_rate_abuse sc2_bytes_in_rate gt 300
    acl mark_as_abuser  sc1_inc_gpc0 gt 0
    tcp-request content reject if data_rate_abuse mark_as_abuser

    server        BLAH 1.2.3.4:10405 weight 1 maxconn 12083 check

backend rate-limit-abuser
    mode http
    errorfile 503 /etc/haproxy/errors/503rate.http

请注意,速率设置得非常低 - 300bytes / 60s。这仍然允许我以8MB / s的速度上传,这大约是我们网络的限制。如果我放弃它,限制突然从8MB / s变为大约15KB / s。会导致这种情况的原因是什么?

最终目标是将给定的源IP限制为20MB / s。

0 个答案:

没有答案