Назад | Перейти на главную страницу

Ограничить максимальное количество запросов в секунду для определенного пути на HAProxy

Я пытаюсь реализовать этот сценарий:

Только на определенном пути я получаю стабильные 9 запросов в секунду на интерфейсе. Все нормально, используйте обычный Backend. Теперь я получаю 11 запросов в секунду, я хочу отклонить любые запросы, превышающие 10. Но все же хочу продолжать отвечать максимум на 10 запросов в секунду.

Все, что я нашел и попробовал реализовать (например: https://blog.codecentric.de/en/2014/12/haproxy-http-header-rate-limiting/), являются черным или белым раствором, он все отбрасывает при достижении заданной скорости. Так что это защита от DDOS, злоумышленника, но не реальное решение для ограничения скорости.

Есть ли способ добиться этого?
PS: с помощью HAproxy 1.5.8

Если вы хотите использовать rate-limit sessions, возможно ли для вас следующее?

frontend http_in
   bind 0.0.0.0:80
   acl is_path url_beg /path/example/
   use_backend forwarder if is_path

backend forwarder
   server localhost 127.0.0.1:4444 send-proxy

frontend limit_path_backend
   bind 127.0.0.1:4444 accept-proxy
   rate-limit sessions 10
   default_backend webnodes