Isso pode ser feito usando o LimitReqModule com o Nginx. No entanto, se isso for para um proxy reverso, convém testar a nova limitação de taxa suportada pelo HAProxy .
Eu achei a limitação de taxa nginx como um pouco confuso para obter a taxa exata desejada.
Mas basicamente você tem algo como:
limit_req_zone $binary_remote_addr zone=default:10m rate=50r/m;
na seção http
e, em seguida, algo como o seguinte na seção location
da seção server
:
limit_req zone=default burst=10 nodelay;
Para não tê-lo para uma determinada seção como /static
, você faria apenas um location
separado e não incluiria a diretiva limit_req
(ou o inverso).