Descubre en Educa Open cómo solucionar el error HTTP 429. Conoce qué prácticas implementar para prevenir este error 429, además de sus causas.

Formas de solucionar el error 429 Too Many Requests

antonio.gutierrez
24/10/2024

Si tienes una página web, seguramente te hayas encontrado un día con este error. De repente, al cargar tu sitio aparece el error 429 Too Many Requets y no se puedes visualizar el contenido de ninguna de las maneras. Esto forma parte de los códigos de estado HTTP que los servidores web utilizan para comunicarse con los clientes. Existen, por ejemplos, los códigos de estado 3xx, que identifican redirecciones, y los códigos 4xx, que indican una serie de errores.

Como su propio nombre indican, el indicativo 429 status code viene a decir que un sitio web está superando el límite de solicitudes o, lo que es lo mismo, está teniendo picos de tráfico o de solicitudes de acceso. Este error puede ser grave porque bloquea también el panel de administración, haciendo el sitio inaccesible.

Sin embargo, en este artículo te explicaremos cómo solucionar el error 429 y, sobre todo, te daremos información para que establezcas mecanismos de prevención. Como dice el refrán, mejor prevenir que curar. ¡Vamos a ello!

¿Qué es el error 429 Too Many Requests?

Aunque el HTTP error 429 reciba la etiqueta de error, podemos decir que técnicamente no lo es. Básicamente, se trata de una comunicación del servidor web o una interfaz de programación de aplicaciones (API) hacia un navegador web. Si uno o más usuarios hacen demasiados solicitudes al servidor en un tiempo determinado, es probable que te aparezcan estos mensajes:

  • Error 429.
  • HTTP 429.
  • 429 To Many Requests.
  • Error 429 (demasiadas solicitudes).
  • There was a problem with the server 429.
  • 429 - That’s an error.
  • 429 server error.
  • Código de error: 50-405-429.

Este error puede aparecer porque el servidor web tiene ciertos límites, como puede ser la memoria para procesar las peticiones. Sin embargo, también puede ser una cuestión de ciberseguridad, puesto que puede venir de un ataque de fuerza bruta o de denegación de servicio distribuido (DDos). Un error 429 se vería en la pantalla tal que así:

¿Por qué aparece el error HTTP 429?

Como venimos diciendo, el error 429 Too Many Requests se presenta en nuestra web cuando recibe demasiadas solicitudes de un usuario durante un periodo de tiempo determinado. Sin embargo, esto puede suceder por multitud de razones, las cuales vamos a ver.

Límites de recursos del servidor

Un servidor web cuenta con ciertos límites de recursos en cuanto a CPU, memoria y otros recursos. Si tu sitio web supera estos límites, propios del servidor, aparecerá un error 429 en la pantalla del usuario. Estos límites se pueden superar por un pico de tráfico inesperado o por compartir un plan de alojamiento con recursos limitados.

Ataques de fuerza bruta

Los ataques de fuerza bruta consisten en un ataque malicioso que busca tumbar tu web de manera rápida sin tener que acceder a la misma. Por ejemplo, un hacker puede construir una red de bots que intenten acceder a tu página web probando una y otra vez con combinaciones de usuarios y contraseñas. Eso sería un perfecto ejemplo de un número elevado de solicitudes en un periodo corto de tiempo, lo que desencadenaría en un error 429.

Alto volumen de tráfico

Este error 429 puede llegar por un pico de tráfico fuera de lo común. Imagina por un momento la web de un medio de comunicación deportivo en una jornada de Champiosn League. La cantidad de usuarios que pueden recibir en ese lapso de tiempo es escandalosa, lo que puede activar el error 429 Too Many Requests.

Base de datos no optimizada

Las bases de datos, en muchas ocasiones, no están optimizadas al 100 %. Puede que haya mucho contenido basura, datos transitorios o tablas sobrantes, lo que, inevitablemente, aumenta su tamaño. Esto puede provocar que la ejecución de las consultas a las bases de datos sean más largas, agotando los recursos del servidor y devolviendo un error HTTP 429.

Plugins de WordPress

Los plugins de WordPress no siempre son grandes aliados, puesto que, en algunas ocasiones, pueden dejar de funcionar y crear conflictos con otras partes de tu web. Como en los anteriores casos, esto puede generar un gran consumo de recursos del servidor web.

Temas de WordPress

Ocurre lo mismo que con los plugins, pudiendo dejar de funcionar y provocando un error 429.

Ejemplo de código de un error 429

A continuación, queremos trasladarte cómo sería la redacción completa de un error 429 Too Many Requests , puesto que nos aporta una serie de detales sobre los motivos por los que ocurrió el error. Aquí tienes el ejemplo:

HTTP/1.1 429 Too Many Requests

Retry-After

: 3600

Content-Type

*: application/json

{

"error": {

"code": 429,

"message": "Too Many Requests: You have exceeded the rate limit. Please try again after 1 hour.",

"details": "You have made 500 requests within the past 10 minutes. The rate limit is 100 requests per 10 minutes. Please reduce the frequency of your requests.",

"retry_after": 3600

}

}*

En este caso, el cliente solicitó 500 solicitudes en los últimos 10 minutos, cuando el límite era de 100 solicitudes. El encabezado Retry-After nos señala que la web deberá esperar 1 hora antes de realizar más solicitudes.

¿Cómo solucionar el error 429 Too Many Requests?

El error 429 - Demasiadas Solicitudes genera un malestar evidente: ni se puede acceder a la web ni a su panel de administración. Sin embargo, existen algunas soluciones para el error HTTP 429 que te explicaremos a continuación. ¡Permanece atento a Educa Open!

Utilizar una red de distribución de contenido (CDN)

Para entender esta medida, vamos a definir qué es una CDN. Básicamente, consiste en una red de servidores que se distribuyen en diferentes ubicaciones a lo largo del mundo. Si un usuario visita una página web, esta CDN le va a conectar al servidor más cercano a su ubicación, lo que hará reducir la carga en tu servidor web.

Optimiza tu base de datos

Si el problema está en tu base de datos, la solución parece clara: optimizarla. ¿Pero cómo lo hace? Por ejemplo, si usas WordPress, puedes recurrir a plugins para limpiar tu base de datos y mejorar su rendimiento. En este punto se pueden eliminar datos innecesarios, como revisiones de publicaciones, spam en la sección de comentarios u otro tipo de opciones.

Por otro lado, se pueden reparar y optimizar las bases de datos utilizando las funciones integradas en phpMyAdmin. Sin embargo, para esta tarea debería saber cómo optimizar una base de datos MySQL.

Implementar la limitación de frecuencia

El propietario de la página web puede implementar una limitación de velocidad, que hace que un cliente no pueda hacer las solicitudes que quiera. Así es menos probable que excedas los límites de velocidad establecidos por el servidor.

Por ejemplo, puedes establecer que el límite sean 100 solicitudes cada 10 minutos, lo que bloquearía o retrasaría más solicitudes si el usuario excede el límite. Sin duda, es una buena manera de prevenir el error 429 y ataques de fuerza bruta.

Modifica la URL de entrada a tu web

Una de las puertas de entrada de los ataques de fuerza bruta son las URL de inicio de sesión en tu web. Imaginemos por un momento que tu web está construida en WordPress. Por norma general, la URL de acceso en este tipo de web suele ser www.dominio.com/acceder. Por ello, resulta muy sencillo de encontrar para un hacker, que tan solo tiene que ordenar a sus bots que intenten entrar.

Una buena manera de evitar estos ataques de fuerza bruta es cambiando u ocultando la URL de inició de sesión. Por norma genera, esto es muy fácil de hacer a través de los complementes de WordPress. Un pequeño cambio que te puede salvar de un error 429.

Cambia a un tema predeterminado de WordPress

Cuando instalamos un tema personalizado o registramos cambios en el código, podemos romper por completo dicho tema, sobrecargando los recursos del servidor. Por ello, volver a un tema predeterminado de WordPress como Twenty Twenty-One puede ser una buena solución. Si el problema deja de estar tras este cambio, ya sabes a qué se debía.

Borra la memoria caché de tu navegador

El error HTTP 429 también puede venir de la memoria caché. Y es que se pueden almacenar datos obsoletos o corruptos que provoquen errores al cargar la página. Por ello, borra los datos de navegación, ya que puede resolver el problema.

Vacía la caché del DNS

El DNS o sistema de nombres de dominio tiene la tarea de almacenar información sobre el nombre de dominio a las asignaciones de direcciones IP. Sin embargo, esta caché de DNS también se puede volver obsoleta, lo que causará problemas como el error 429. Así, es importante limpiar la caché de DNS de forma recurrente.

Implementa un sistema CAPTCHA en tu web

Aquí te traemos otra manera de prevenir los ataques de fuerza bruta: el sistema CAPTCHA o reCAPTCHA en la página de inicio de sesión en tu sitio web. Esta medida de seguridad evita los bots, ya que tendrán que pasar una medida de seguridad a modo de desafío. Así, se demuestra que detrás de la pantalla hay una persona y no una tecnología.

reCAPTCHA se diferencia de CAPTCHA en que utiliza algoritmos de aprendizaje automático para detectar y bloquear intentos de inicio de sesión. ¿Y cómo se establece esta medida? A través de plugins de WordPress, la configuración es realmente sencilla.

Revisa los registros de acceso y bloquea las direcciones IP

Al final, estos ataques de fuerza bruta se completan, por norma general, desde una misma dirección IP. Por ello, si inspeccionas los registros de acceso en el panel de control, podrás identificar a la IP infractora para bloquearla posteriormente. Así, también previenes en gran medida la existencia de errores 429 en tu web.

Desactiva todos los plugins de tu WordPress

Puede hacer ocasiones en las que te sea complicado detectar cual es el plugin que está dañando tu web y generando un error HTTP 429. Por ello, una medida puede ser desactivar de golpe todos los plugins que tengas activos e ir activándolos de uno en uno hasta que vuelva a aparecer el error 429. Ya sabrás cuál es el plugin que infecta tu ecosistema web.

Si no puedes acceder a tu panel de WordPress, también puedes desactivarlos desde el gestor de archivos o FTP. Tan solo tienes que cambiar el nombre de la carpeta a cualquier otra cosa. Por ejemplo plugins.desactivated. Nos referimos a la carpeta en la que se encuentran los plugins de tu página web.

Esta sería la ruta: tusitioweb.com/public_html/wp-content/plugins

Artículos relacionados

Clave SSH
jefferson.mera

Aprende a crear una clave SSH

28/11/2024

El uso de claves SSH (Secure Shell) es una práctica fundamental para garantizar la seguridad y autenticación en la conexión a servidores.

Form en PHP
rafael.marin

Creación y gestión de formularios con HTML y PHP

27/11/2024

Un formulario es una de las herramientas más utilizadas e importante en el desarrollo web, ya que permite recopilar y enviar datos de los usuarios para procesarlos

Sistemas MES
jefferson.mera

Sistemas MES: qué es, origen y funciones

22/11/2024

Un Sistema de Ejecución de Manufactura (MES, por sus siglas en inglés) es una solución de software que proporciona una visión en tiempo real de los procesos de manufactura