🚫 Error 429 – Demasiadas solicitudes (Too Many Requests)
El error 429 ocurre cuando un cliente (usuario, navegador, app, script o bot) envía demasiadas solicitudes en un periodo muy corto, superando los límites de velocidad establecidos por el servidor.
Es una forma de protección anti-abuso, utilizada para evitar:
-
Sobrecarga del servidor
-
Ataques de fuerza bruta
-
Bots agresivos
-
Interacciones automáticas excesivas
-
Spam en formularios o APIs
El servidor dice básicamente:
“Estás enviando demasiadas peticiones. Espera un momento antes de volver a intentarlo.”
✅ Causas más comunes
-
⚡ Exceso de solicitudes por usuario o IP en poco tiempo.
-
🤖 Bots o crawlers sin control.
-
🔐 Intentos repetidos de login (ataques de fuerza bruta).
-
📡 Scripts que consultan APIs demasiado rápido.
-
🔁 Lazos o bucles en código que generan peticiones repetitivas.
-
🌍 Muchos usuarios accediendo desde la misma IP (empresas, universidades, proxies).
-
🧩 Reglas estrictas de rate limiting en cPanel, Cloudflare, APIs o firewall.
🔧 Soluciones recomendadas
1️⃣ Esperar el tiempo indicado en la cabecera Retry-After
El servidor puede responder con:
Significa: esperar 30 segundos antes de reintentar.
2️⃣ Reducir la frecuencia de solicitudes
En APIs o scripts:
-
Implementar retrasos (delays)
-
Usar caching
-
Agrupar solicitudes (“batch requests”)
Ejemplo en JavaScript:
3️⃣ Optimizar consultas a APIs
Evitar:
-
Hacer la misma consulta muchas veces
-
Pedir datos que no cambian
-
No usar tokens de actualización o caché
4️⃣ Configurar rate limiting en tu servidor/backend
En Nginx:
En Laravel:
Middleware:
En Node.js (Express):
5️⃣ Revisar Cloudflare u otros servicios de protección
Cloudflare puede devolver 429 cuando:
-
Detecta tráfico sospechoso
-
Hay demasiadas solicitudes por IP
-
Se activa un rule de seguridad
Solución: ajustar las reglas o agregar excepciones.
6️⃣ Prevenir ataques de fuerza bruta
429 aparece durante:
-
Demasiados intentos fallidos de login
-
Bots intentando contraseñas repetidas
Implementa:
-
Captcha
-
2FA
-
Bloqueo temporal de IP
-
Retrasos progresivos en login
7️⃣ Detectar loops o errores en tu propio código
Un bucle infinito enviando peticiones → 429 inmediato.
Revisar:
-
Cronjobs
-
Webhooks
-
Integraciones automáticas
-
Scripts que se ejecutan múltiples veces
🔐 Consejo Pro
El 429 no significa que algo esté roto, sino que debes:
-
Controlar la velocidad de solicitudes
-
Usar caché siempre que sea posible
-
Implementar backoff exponencial
-
Optimizar integraciones con APIs
No comments to display
No comments to display