Omezování počtu požadavků omezuje, kolik požadavků může klient odeslat v časovém okně. Aplikujete jej na více vrstvách, protože každá vidí něco jiného, a klíčujete jej podle toho, co identifikuje útočníka.
Omezování počtu požadavků omezuje, kolik požadavků může klient odeslat v časovém okně. Aplikujete jej na více vrstvách, protože každá vidí něco jiného, a klíčujete jej podle toho, co identifikuje útočníka.
429 Too Many Requests s Retry-After, aby se klienti slušně vrátili místo neustálého nátlaku.# Define a shared-memory zone keyed by client IP.
# rate=10r/s = the steady refill rate (token bucket).
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
server {
location /api/ {
# burst=20: allow a short spike of 20 queued requests
# nodelay: serve the burst immediately instead of spacing it out
limit_req zone=api burst=20 nodelay;
# Return 429 (not the default 503) so clients see a rate-limit signal
limit_req_status 429;
proxy_pass http://backend;
}
}
Zde se každá IP doplňuje na 10 požadavků/sekundu, může vyskočit až na 20 a cokoliv více získá 429.
Omezování počtu požadavků je vaše nejlevnější, vždy aktivní obrana proti záplavám Layer 7, vycpávání přihlašovacích údajů a nekontrolovaným seberáčům. Jeho vrstvení (edge pro objem, proxy pro původ, app pro obchodní logiku) a správné klíčování zastaví útočníky, zatímco skuteční uživatelé — a legitimní špičky — projdou nepředstavitelně. Nastavení limitů z reálných základních linií je to, co vám zabrání, aby se z toho stala vlastní bezpečnostní chyba.