Rate limiting en couches dans Nginx — de limit_req_zone à Cloudflare et retour
20 mai 2026 · 1 min de lecture · par Sudhanshu K.
Le rate limiting dans Nginx est l'une de ces choses qui existe dans chaque config et qui fonctionne dans peut-être la moitié d'entre elles. Le bloc limit_req par défaut enterré dans une config d'exemple ne survit pas à un vrai scrape, et certainement pas à une vraie attaque. Pire, des limites mal tunées bloqueront le crawler Google légitime la veille du jour où votre équipe réalisera pourquoi le ranking a chuté.
Nous empilons le rate limiting à trois points : à l'edge (Cloudflare ou équivalent), au perimeter (Nginx) et à l'application (par endpoint, par utilisateur). Voici la couche perimeter que nous livrons sur chaque install Nginx managée.
Limites par route avec une tolérance burst
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
limit_req_zone $binary_remote_addr zone=api:10m rate=20r/s;
limit_conn_zone $binary_remote_addr zone=conn:10m;
server {
location = /login {
limit_req zone=login burst=3 nodelay;
limit_conn conn 20;
proxy_pass http://app;
}
location /api/ {
limit_req zone=api burst=40 nodelay;
proxy_pass http://app;
}
}/login est la cible du brute-force — 5 requêtes par minute est généreux pour les humains et brutal pour les bots de credential stuffing. /api est bien plus permissif mais reste borné.
L'article complet couvre :
- Edge → perimeter → origin : quelles attaques chaque couche attrape
limit_req_status 429et de bons headersRetry-Afterpour que les clients légitimes reculent- Directives
geopour whitelister les crawlers connus bons - La considération mémoire
$binary_remote_addrvs$remote_addr(4 vs 24 octets par IP) - Coordonner les changements de règles Cloudflare avec les changements de limites origin (ne pas se déclencher en même temps)
- Lire les lignes de log
limit_reqpour distinguer les vraies attaques de la mauvaise config
Contactez-nous si votre origin est actuellement scrapé et que vous ne savez pas comment lire les logs.
Article complet disponible
Lire l'article complet