← Zurück zu allen Technologien
Rate Limiting Logo

Rate Limiting

Security

Rate Limiting begrenzt API-Anfragen pro Zeitfenster und schützt so vor DDoS-Angriffen, Brute-Force-Attacken und unkontrollierter Ressourcenauslastung.

Rate Limiting implementiert Quotas pro IP, Nutzer oder API-Key: z.B. max. 100 Requests/Minute. Algorithmen: Token Bucket, Sliding Window, Fixed Window, Leaky Bucket. In NestJS via @nestjs/throttler, in Express via express-rate-limit. Redis als verteilter Rate-Limit-Counter für Multi-Instance-Deployments. Response-Header (X-RateLimit-Limit, X-RateLimit-Remaining) informieren Clients.

Rate Limiting bei SW Business Solutions

Rate Limiting ist ein fundamentales Sicherheits- und Stabilitäts-Feature jeder öffentlichen API. SW Business Solutions implementiert Rate Limiting für alle Backend-Projekte, um Missbrauch, DoS-Angriffe und API-Überlastung zu verhindern.

Einsatz in Kundenprojekten

  • Endpoint-Level Rate Limiting: Differenzierte Limits je nach Endpoint-Sensitivität (z.B. Login: 5/min, Public API: 100/min)
  • User-Level Rate Limiting: Pro-Nutzer-Limits verhindert einzelne Nutzer von der API-Überlastung
  • IP-basiertes Throttling: Anonyme Requests limitiert nach IP-Adresse
  • Redis-backed: Atomare Zähler in Redis für verteilte Systeme (kein Shared Memory nötig)
  • Response-Headers: X-RateLimit-Limit, X-RateLimit-Remaining für transparente Client-Kommunikation

Implementierung in NestJS:

  • @nestjs/throttler als Standard-Lösung
  • Redis-Store für Multi-Instance-Deployments
  • Custom Decorators für Endpoint-spezifische Limits

Warum Rate Limiting?

  • DoS-Schutz: Verhindert Überlastung durch excessive API-Aufrufe
  • Brute-Force-Schutz: Login-Endpoint mit strengem Limit blockiert automatisierte Angriffe
  • Fair Use: API-Ressourcen fair auf alle Nutzer verteilt
  • Kosten: Cloud-Services abrechnen nach Requests - Rate Limiting schützt vor unerwartetem Kostenschub

Typische Projektkombinationen

KombinationAnwendungsfall
Rate Limiting + RedisVerteiltes Zählen für Multi-Instance
Rate Limiting + NestJSThrottlerGuard auf Controller-Level
Rate Limiting + API-SecurityLayer 1 der API-Sicherheitsstrategie
Rate Limiting + NginxReverse-Proxy-Level Throttling

Warum Rate Limiting?

Schutz vor DDoS und Brute-Force-Angriffen
Faire Ressourcenverteilung zwischen API-Nutzern
Verhindert unkontrollierte Kosten durch API-Missbrauch
HTTP 429 Too Many Requests als Standard-Response
Redis für verteiltes Rate Limiting über mehrere Instanzen
Verschiedene Limits pro Endpunkt konfigurierbar

Anwendungsszenarien für Rate Limiting

🛡️

API-Schutz

Login-Endpunkte nach 5 Fehlversuchen für 15 Minuten sperren.

💰

API-Monetarisierung

Verschiedene Rate-Limits pro Subscription-Tier für API-as-a-Product.

🔒

DDoS-Mitigation

Exzessive Requests von einzelnen IPs automatisch blockieren.

Funktioniert gut mit

Häufige Fragen zu Rate Limiting

Rate Limiting in NestJS implementieren?
@nestjs/throttler installieren. ThrottlerModule.forRoot({ttl: 60, limit: 100}) in AppModule. @UseGuards(ThrottlerGuard) auf Controller oder Route. @Throttle({short: {ttl: 3600, limit: 5}}) für spezifische Endpunkte. ThrottlerStorageRedisService für verteilte Installationen.
Welche Rate-Limit-Werte sind sinnvoll?
Login-Endpunkte: 5-10 Requests/Stunde pro IP. Öffentliche APIs: 60-1000 Requests/Minute je nach Tier. Interne APIs: 1000-10000 Requests/Minute. Search/Autocomplete: höhere Limits (Nutzer tippt schnell). Immer unterschiedliche Limits für verschiedene Endpunkte — Login strenger als Liste-Endpoints.

Schnelle Fakten

KategorieSecurity
KomplexitätFortgeschritten
BeliebtheitSehr hoch

Interessiert an Rate Limiting?

Beratung anfragen

Interessiert an Rate Limiting?

Lassen Sie uns gemeinsam besprechen, wie Rate Limiting in Ihrem nächsten Projekt eingesetzt werden kann.