Cómo resolver el error 429 Demasiadas solicitudes
El error 429 Demasiadas peticiones es un código de estado HTTP que indica que un usuario ha enviado demasiadas peticiones en un tiempo determinado. Sirve como un mecanismo de limitación de velocidad para proteger al servidor de ser abrumado por un exceso de solicitudes, ya sea debido a un script mal configurado, rastreadores o ataques de fuerza bruta. Resolver este error es crucial para garantizar que los usuarios legítimos puedan acceder a su sitio web sin interrupciones.
Esta guía le guiará a través de las causas del error 429 y las soluciones paso a paso para resolverlo.
¿Qué causa el error 429 Demasiadas solicitudes?
El error 429 Too Many Requests es causado típicamente por:
- Limitación de tasa: El servidor o un firewall de aplicaciones (como Cloudflare, Sucuri o un plugin) está limitando el número de peticiones permitidas desde un usuario, dirección IP o navegador específico.
- Bots y rastreadores: Los robots o rastreadores pueden enviar numerosas solicitudes a un sitio web, haciendo que el servidor active la limitación de velocidad.
- Plugins o scripts mal configurados: Ciertos plugins de WordPress, peticiones API o scripts pueden enviar inadvertidamente demasiadas peticiones al servidor, provocando el error.
- Ataques de fuerza bruta: Los intentos repetidos de inicio de sesión o las amenazas de seguridad como los ataques de fuerza bruta pueden activar la limitación de velocidad en las páginas de inicio de sesión.
Cómo Solucionar el Error 429 Demasiadas Peticiones: Soluciones Paso a Paso
Paso 1: Identificar el Origen del Exceso de Peticiones
Para resolver el error 429, primero debe identificar la causa del exceso de solicitudes:
- Compruebe los registros del servidor: Los registros del servidor pueden proporcionar información sobre qué direcciones IP o usuarios están enviando demasiadas solicitudes.
- Acceda a sus registros utilizando cPanel, SSH o FTP.
- Busque direcciones IP o scripts que estén realizando peticiones frecuentes.
- Utiliza plugins de seguridad: Si usas WordPress, plugins como Wordfence o iThemes Security pueden ayudarte a monitorizar y bloquear actividades sospechosas.
Paso 2: Aumente los límites de velocidad de su servidor
Si está experimentando el error 429 debido a que el tráfico legítimo excede los límites de velocidad del servidor, puede que necesite aumentar los límites de velocidad en su servidor.
- Ajuste los límites de velocidad en .htaccess (para servidores Apache):
- Acceda a su archivo .htaccess a través de FTP o cPanel.
- Añada el siguiente código para permitir más peticiones:RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(POST|GET) RewriteCond %{REQUEST_URI} ^/your-page-url/ RewriteCond %{REMOTE_ADDR} ^(.*)$ RewriteRule .* – [F,L]
- Este ejemplo limita la tasa de peticiones a una página específica. Ajuste las condiciones según sus necesidades.
- Servidores Nginx:
- Acceda a su archivo nginx.conf y ajuste la configuración de limitación de velocidad:http { limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; server { location / { limit_req zone=one burst=20 nodelay; } } }
- Esta configuración permite 10 peticiones por segundo y una ráfaga de 20 peticiones sin retardo. Ajuste los valores según sea necesario.
- Acceda a su archivo nginx.conf y ajuste la configuración de limitación de velocidad:
Paso 3: Desactivar temporalmente los plugins (WordPress)
En WordPress, los plugins pueden a veces ser la causa del error 429 debido a peticiones API o ajustes de limitación de velocidad:
- Acceda a su panel de WordPress.
- Vaya a Plugins > Plugins instalados.
- Desactive los plugins que puedan interactuar con APIs externas, como plugins SEO, plugins de caché o plugins de seguridad.
- Compruebe su sitio web para ver si el error persiste.
- Vuelva a activar los plugins uno por uno para identificar cuál está causando el problema.
Consejo: Mantén siempre actualizados tus plugins para evitar problemas de compatibilidad que puedan provocar errores.
Paso 4: Ajuste los límites de solicitud de la API
Si trabaja con APIs (como APIs de terceros o scripts personalizados), asegúrese de que sus peticiones no superan los límites de velocidad establecidos por el proveedor de la API:
- Compruebe la documentación de la API: Consulte los límites de velocidad en la documentación de la API y ajuste sus scripts para respetar dichos límites.
- Limite las solicitudes de API: Utilice el estrangulamiento o la limitación de velocidad en sus solicitudes de API para evitar llamadas excesivas. Por ejemplo, si utiliza JavaScript, puede implementar la limitación con bibliotecas como lodash:_.throttle(() => { // Tu llamada a la API }, 2000);
- Este ejemplo envía una petición a la API cada 2 segundos.
Paso 5: Bloquear o limitar robots y rastreadores
Los robots y los rastreadores pueden provocar un exceso de solicitudes, dando lugar al error 429:
- Bloquear robots no deseados en .htaccess:
- Añada el siguiente código a .htaccess para bloquear bots malos conocidos:RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(BadBot|AnotherBadBot).*$ [NC] RewriteRule .* – [F,L]
- Sustituya BadBot y AnotherBadBot por los nombres de los bots que desea bloquear.
- Añada el siguiente código a .htaccess para bloquear bots malos conocidos:
- Utilice un cortafuegos de aplicaciones web (WAF):
- Utilice servicios como Cloudflare, Sucuri o Wordfence (para WordPress) para bloquear bots maliciosos y controlar el tráfico a su sitio.
- Estas herramientas pueden detectar y bloquear automáticamente las IP sospechosas que generan peticiones excesivas.
Paso 6: Póngase en contacto con su proveedor de alojamiento
Si no puede identificar el origen del error 429, es posible que su proveedor de alojamiento web pueda proporcionarle información:
- Abra un ticket de soporte con su proveedor de alojamiento y describa el problema.
- Pídale que compruebe los registros del servidor en busca de actividad inusual o reglas de limitación de velocidad.
- Pueden aumentar temporalmente el límite de velocidad del servidor o ayudarte a bloquear el tráfico problemático.
Paso 7: Ajuste la configuración del plugin de seguridad (WordPress)
Si utiliza un plugin de seguridad como Wordfence o iThemes Security, compruebe la configuración de limitación de velocidad:
- Vaya a la configuración del plugin en su panel de WordPress.
- Busque los ajustes de limitación de velocidad o de protección contra la fuerza bruta.
- Ajuste el umbral para los intentos de inicio de sesión y las tasas de solicitud para que sean más indulgentes.
- Guarde los cambios y pruebe su sitio web para ver si el error se ha resuelto.
Paso 8: Borre la caché y las cookies del navegador
A veces, el error 429 puede estar almacenado en la caché de su navegador:
- Borre la caché en Chrome:
- Ve a Configuración > Privacidad y seguridad > Borrar datos de navegación.
- Selecciona Imágenes y archivos almacenados en caché y Cookies y otros datos del sitio y, a continuación, haz clic en Borrar datos.
- Prueba el modo incógnito: Si borrar la caché no funciona, prueba a acceder al sitio web en modo Incógnito para descartar problemas de caché.
Resumen
El error 429 Too Many Requests puede deberse a una configuración de limitación de velocidad, a un exceso de solicitudes de API o a tráfico malicioso. He aquí un resumen rápido de cómo solucionar el problema:
- Identifique el origen de las peticiones excesivas utilizando los registros del servidor.
- Aumente los límites de velocidad en .htaccess o nginx.conf si el tráfico legítimo está causando el problema.
- Deshabilite plugins temporalmente para identificar y corregir scripts mal configurados.
- Ajuste los límites de solicitud de la API y utilice el estrangulamiento para evitar superar los límites de velocidad de la API.
- Bloquee los bots y utilice un cortafuegos de aplicaciones web para gestionar el tráfico.
- Póngase en contacto con su proveedor de alojamiento para obtener ayuda si el problema persiste.
Siguiendo estos pasos, puede resolver el error 429 y asegurarse de que su sitio web sigue siendo accesible para los usuarios legítimos.