2 votes

Limiter le nombre maximum de requêtes par seconde pour un chemin spécifique sur HAProxy

J'essaie de réaliser ce scénario :

Sur un chemin spécifique seulement, je reçois 9 requêtes/sec sur le frontend. Tout va bien, j'utilise le Backend normal. Je reçois maintenant 11 req/s, je veux rejeter toutes les demandes supérieures à 10. Mais je veux continuer à répondre à un maximum de 10 req/sec.

Tout ce que j'ai trouvé et essayé de mettre en œuvre (comme ce : https://blog.codecentric.de/en/2014/12/haproxy-http-header-rate-limiting/ ), sont des solutions noires ou blanches, il laisse tout tomber une fois que le taux est atteint. C'est donc une protection contre les DDOS, les abus, mais pas une vraie solution de limitation de débit.

Existe-t-il un moyen d'y parvenir ?
PS : utilisation de HAproxy 1.5.8

6voto

bjoernbessert Points 76

Si vous souhaitez utiliser rate-limit sessions La solution suivante est-elle envisageable pour vous ?

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X