Giter Club home page Giter Club logo

haproxy-http-based-rate-limiting's Issues

Counter not increasing

Hello,

I'm trying to implement a similar kind of throttling and I'm not having the expected result :
I have lowered the threshold to something very low, 5 reqs in 10 sec.

In my frontend :

tcp-request inspect-delay 5s
acl is_sys path_beg -i /sys
acl too_many_req sc0_gpc0_rate() gt 5
acl mark_seen sc0_inc_gpc0 gt 0
stick-table type string size 100k store gpc0_rate(10s)
tcp-request content track-sc0 hdr(Authorization) if METH_GET is_sys
use_backend slow_down if too_many_req mark_seen
[...]

backend slow_down
  mode http
  timeout tarpit 2s
  http-request tarpit

I start sending some concurrent requests (20 concurrent, average of 50req/s) and do a show table :

0xe3663c: key=Basic\ xxxxxxxxxxxxxx use=0 exp=0 gpc0_rate(10000)=0

It stays like that and do not increase. It seems like the mark_seen acl is not kicking in or something, any idea ?

Thanks

minor typo in use_backend line of sample config

Thanks a lot for this excellent blog post! This is the best description of these options that I have found.

One small typo: use_backend 429_slow_down should be use_backend be_429_slow_down

(BTW, I tried to post this as a comment on the blog but received an error, "FEHLER: Bitte gib einen Kommentar ein.")

cheers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.