
📅 Publicado el 9 de agosto, 2026 · Por Equipo RedServicio
¿Qué es el error 413 Request Entity Too Large?
El error 413 request entity too large es uno de esos códigos de estado HTTP que te detienen en seco. Básicamente, el cliente intenta mandar una solicitud con un cuerpo de datos que pasa del tamaño máximo que el servidor web está dispuesto a tragarse. Es muy común cuando intentas subir archivos pesados: un plugin en WordPress, una copia de seguridad o ese video en alta resolución que tarda una eternidad. El servidor rechaza la transmisión antes de empezar a procesarla.
Ese límite no está ahí para fastidiar. Es una medida de seguridad y estabilidad. Administradores de sistemas y configuraciones por defecto (hablamos de Nginx, Apache o PHP) lo ponen para evitar que un usuario malintencionado o un script que se ha vuelto loco sature la memoria del servidor o llene el disco a base de enviar archivos masivos sin control.
Para un webmaster o desarrollador, es frustrante. A menudo interrumpe flujos de trabajo críticos, justo en medio de una migración o una actualización de contenido. Pero bueno, la solución suele estar al alcance de la mano si tienes acceso a los archivos de configuración.
Principales causas del problema
Antes de tocar nada, intenta entender de dónde viene la restricción. No suele haber un único culpable; es más bien una cadena de validaciones que la petición debe superar:
- Límite del Servidor Web (Nginx/Apache): Es la primera valla. Nginx, por poner un ejemplo, usa una directiva llamada client_max_body_size que de fábrica suele estar en 1MB. Si Apache o Nginx ven que el archivo pasa de ese tamaño, cortan la conexión sin piedad.
- Límite del Lenguaje (PHP): Si el servidor web deja pasar el archivo, PHP tiene sus propias reglas en el archivo php.ini. Fíjate en upload_max_filesize y post_max_size. Si esto es menor que lo que intentas subir, el script fallará.
- Limitaciones de la Aplicación: A veces la propia aplicación, como WordPress, tiene límites internos en el código o vía plugins que son más estrictos que los del servidor.
Solución en servidores Nginx
Si tu sitio corre sobre Nginx (algo habitual en arquitecturas modernas por su rendimiento), lo más probable es que el origen del error sea la directiva client_max_body_size. Por defecto, este valor es ridículamente bajo, a veces apenas 1 MB. Insuficiente para casi cualquier aplicación web actual que se precie.
Para arreglarlo, tienes que meter mano en el archivo de configuración de Nginx. Normalmente lo encontrarás en /etc/nginx/nginx.conf o en un archivo específico del sitio dentro de /etc/nginx/sites-available/.
Pasos para modificar la configuración en Nginx
- Entra al servidor por SSH con privilegios de superusuario o sudo.
- Abre el archivo de configuración que toque con un editor tipo nano o vim.
- Busca el bloque server o http. Ahí debes agregar o modificar esta línea dentro del bloque que corresponda a tu web:
client_max_body_size 100M;En el ejemplo ponemos el límite en 100 Megabytes, pero ajusta el valor a lo que necesites realmente.
- Guarda los cambios y cierra el editor.
- No te olvides de reiniciar el servicio de Nginx, o nada cambiará. Ejecuta esto en la terminal:
sudo service nginx restarto esto otro:
sudo systemctl restart nginx
Solución en servidores Apache
Con Apache el enfoque cambia un poco. No suele traer un límite tan estricto en su configuración principal para el cuerpo de la petición (a menos que el módulo mod_security esté activo), pero la solución más efectiva para la mayoría de los usuarios de hosting pasa por el archivo .htaccess.
Este archivo te permite configurar directivas a nivel de directorio sin tocar la configuración global. Si no lo tienes en la raíz de tu instalación, créalo.
Añade o modifica estas líneas:
LimitRequestBody 0
php_value upload_max_filesize 100M
php_value post_max_size 100M
La directiva LimitRequestBody 0 quita cualquier restricción «hard-coded» en Apache para el tamaño del cuerpo (ojo, úsalo con cautela si estás en un entorno compartido). Las otras líneas fuerzan los límites de PHP desde Apache.
Configuración de PHP (php.ini)
Da igual si usas Nginx o Apache; PHP tiene sus propios límites y a menudo son los verdaderos culpables. El servidor web puede dejar pasar el archivo, pero si PHP rechaza la carga por tamaño, te encontrarás con el error de nuevo (a veces el mismo 413, a veces un fallo genérico de PHP).
Hay que editar el php.ini. La ubicación varía según el sistema operativo, pero busca en sitios como /etc/php/8.1/fpm/php.ini o /etc/php.ini. En hosting compartido quizá necesites una versión de este archivo en tu directorio o cambiar los valores desde el panel (cPanel, Plesk).
Busca estas directivas y tócalas:
- upload_max_filesize: El tamaño máximo de un archivo subido. Ponle, por ejemplo, 100M.
- post_max_size: El tamaño máximo de los datos POST. Este valor debe ser igual o mayor que el de subida. Es buena práctica ponerlo un poco más alto, digamos 110M, para cubrir los overheads de la cabecera.
- memory_limit: Asegúrate de que la memoria del script aguante el procesamiento. 256M o 512M son valores recomendables si estás gestionando contenido.
- max_execution_time: Aumenta el tiempo (ej. 300 segundos). Es vital si la conexión va lenta y el archivo tarda, para que el script no muera a mitad de la operación.
Tras guardar php.ini, reinicia el servicio PHP-FPM o el servidor web para recargar la configuración.
Verificación y pruebas
No des por hecho que funciona nada más guardar. Verifica. Crea un archivo info.php en la raíz con este contenido para ver la configuración actual de PHP:
<?php phpinfo(); ?>
Al entrar desde el navegador, busca las directivas que cambiaste y confirma que los nuevos valores (esos 100M) salen en la columna Local Value.
Luego haz una prueba real. Sube un archivo pesado a través del gestor de medios o tu formulario. Si se completa, problema resuelto.
Conclusión
El error 413 request entity too large es un obstáculo técnico habitual, pero no es complicado de superar si entiendes la jerarquía entre el servidor web y el lenguaje de programación. Ajustando el client_max_body_size en Nginx, tocando el .htaccess en Apache o editando el php.ini, la clave es subir los límites de forma consistente en toda la pila tecnológica.
Eso sí, ajusta estos valores con cabeza. Equilibra la necesidad de funcionalidad con la seguridad. En RedServicio sabemos que estos detalles a veces son un dolor de cabeza, por eso ofrecemos planes de hosting gestionados por expertos con soporte 24/7. Nosotros nos encargamos de que tu sitio tenga los recursos que necesita para seguir funcionando sin interrupciones.
Preguntas Frecuentes
¿Es seguro aumentar el límite de subida a 1GB o más?
Depende del uso. Para un backend administrativo seguro, puede ser necesario. Ahora bien, límites muy altos en formularios públicos pueden exponer tu servidor a ataques de denegación de servicio (DoS) si alguien intenta llenar tu disco a base de peticiones masivas.
¿Por qué sigue apareciendo el error si ya cambié el php.ini?
Lo más probable es que tu servidor web (Nginx o Apache) siga con un límite inferior y esté cortando la conexión antes de que PHP pueda hacer nada. Revisa la configuración del servidor web.