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: closeHerramientas 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.