Greitį ribojantas funkcijos riboja, kiek prašymų klientas gali atlikti per laiką. Ją taikote keliuose sluoksniuose, nes kiekvienas mato ką nors kitaip, ir jį atpažįstate pagal tai, kas identifikuoja piktnaudžiautoją.
Greitį ribojantas funkcijos riboja, kiek prašymų klientas gali atlikti per laiką. Ją taikote keliuose sluoksniuose, nes kiekvienas mato ką nors kitaip, ir jį atpažįstate pagal tai, kas identifikuoja piktnaudžiautoją.
429 Too Many Requests su Retry-After, kad klientai gražiai atsitrauktu vietoj nuolatinio smūgio.# 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;
}
}
Čia kiekvienas IP papildo 10 prašymų/sekundę, gali šokti iki 20, o viskas viršui gauna 429.
Greitį ribojantos funkcijos yra pigiausias, visada veikiantis apsaugos priemone prieš Layer 7 potvynius, kredencialų užpildymą ir nešviesias scrapers. Jų sluoksniavimas (edge dėl tūrio, proxy dėl šaltinio, app dėl verslo logikos) ir teisingas atpažinimas sustabdo piktnaudžiautojus, o tikri vartotojai — ir teisėti šuoliai — praleidžiami nepažeisti. Ribų nustatymas iš tikrų pagrindų — tai tai, kas neleidžia tai tapti jūsų paties išjungimu.
IT pokalbių klausimų biblioteka su išsamiais atsakymais — nuo Junior iki Senior.
Paaukoti