EIVUS

Rate limiting de API en su servidor

Proteja APIs con rate limit y throttling; herramientas y estrategias.

Volver al blog

Rate limiting evita abuso y uso injusto. Implemente en la app (middleware) o en el borde (WAF, nginx). Use límites por IP o por clave; devuelva 429 y Retry-After. Las redes tier-III a menudo tienen protección DDoS aguas arriba.

Por qué rate limit

  • Abuso: Bots y scrapers pueden sobrecargar su API o consumir cuota. Los rate limits acotan cuánto puede hacer un cliente.
  • Uso justo: Asegura que un usuario pesado no deje sin servicio a los demás. Límites por usuario o clave permiten cuota y niveles.
  • Coste y estabilidad: Reduce picos de tráfico inesperados y ayuda a dimensionar y presupuestar capacidad.

Dónde implementar

  • Aplicación: Middleware o decorador que comprueba el número de peticiones por clave/IP y devuelve 429 cuando se supera el límite. Control total; puede usar Redis para límites distribuidos.
  • Borde: Nginx limit_req, WAF o API gateway. Descarga la app; consistente en todos los endpoints. Combine con nivel de app para límites por usuario/clave.
  • Proveedor: Algunos hosts ofrecen mitigación DDoS y rate limiting básico en el borde. Complementa límites de app/borde.

Cómo implementar

  • Por IP: Simple; bueno para tráfico anónimo o no autenticado. Puede eludirse con muchas IPs (botnets).
  • Por clave de API o usuario: Mejor para APIs autenticadas; ata el límite a la identidad. Use cuando tenga claves o sesiones.
  • Ventana deslizante o fija: Cuente peticiones en una ventana de tiempo; deslizante es más justo. Devuelva 429 Too Many Requests y cabecera Retry-After para que los clientes hagan backoff.

Resumen

Rate limit en la app o en el borde; use por IP o por clave; devuelva 429 y Retry-After. Reduce abuso y asegura uso justo; combine con protección DDoS del proveedor para ataques volumétricos.

Clientes que confían en nosotros