Saltar al contenido

4xx · Errores del cliente

Error 408 Request Timeout: qué significa y cómo solucionarlo

El error 408 Request Timeout significa que el servidor esperó a que el cliente terminara de enviar la petición y, al no recibirla a tiempo, cerró la conexión. Es un problema del lado del cliente o de la red (conexión lenta o inestable), no un servidor lento: eso sería un 504.

Qué significa el código 408

Los servidores no esperan indefinidamente: si una conexión se abre y no envía nada (o lo envía muy despacio) la cierran para liberar recursos. Es también una defensa contra ataques como Slowloris, que abren miles de conexiones y envían datos muy despacio.

Causas habituales del error 408

  • Conexión móvil o wifi inestable que corta a mitad de la subida.
  • Subida de un fichero grande con una conexión lenta.
  • Navegadores que abren conexiones de forma preventiva y no las usan (aparecen como 408 en los logs).

Cómo solucionar el error 408

  • Para subidas grandes y conexiones lentas, sube client_body_timeout en nginx.
  • Los 408 sueltos en los logs de nginx suelen ser conexiones preabiertas por el navegador: se pueden ignorar.

Configuración y comandos

nginx: más margen para subidas lentas

nginx
client_header_timeout 30s;
client_body_timeout 120s;
client_max_body_size 200m;

Ejemplo de respuesta

http
HTTP/1.1 408 Request Timeout
Connection: close

Herramientas para comprobarlo

Preguntas frecuentes

¿Qué diferencia hay entre 408 y 504?

408: el cliente tardó demasiado en enviar la petición. 504: un proxy esperó demasiado la respuesta del servidor de origen.

Códigos relacionados

Ver todos los códigos de estado HTTP