Cuando Nginx se utiliza como servidor back-end para aplicaciones web como WordPress , Drupal , etc . (que generalmente están basados en bases de datos PHP y MySQL), muchos usuarios se encuentran con el error:'413 - Entidad de solicitud demasiado grande '.
Este error ocurre cada vez que un usuario intenta cargar un archivo que es mayor que el tamaño de archivo de carga máximo configurado. El límite predeterminado para el tamaño de carga de archivos es 1 MB como se define en el Nginx configuración.
[ También te puede interesar:Cómo corregir el tiempo de espera de la puerta de enlace 504 en el servidor Nginx ]
Por lo general, este error lo encuentra un WordPress administrador tratando de instalar un complemento por primera vez. Por ejemplo, intenté instalar el 'Administrador de descargas Complemento de WordPress en mi configuración de WP local, me da el mismo error:
Cambiar el límite de tamaño del archivo de carga en Nginx
Abra el Nginx archivo de configuración en Vim o cualquier editor de texto de su elección.
$ sudo vim /etc/nginx/nginx.conf
Agregue la directiva 'client_max_body_size '. Esta directiva define el tamaño máximo del cuerpo de una solicitud de cliente. De forma predeterminada, el valor de esta directiva es 1 MB . Si aumenta este valor, podrá cargar un archivo de mayor tamaño que se envía con la solicitud.
Agregue la siguiente línea debajo de 'http' bloque:
client_max_body_size 16M;
Incluso puedes poner un número más alto en lugar de 16 MB si es requerido. Ahora, guarde y cierre el archivo.
Reiniciar Nginx con el siguiente comando.
$ sudo systemctl restart nginx
Ahora tu Nginx la configuración le permitirá cargar un archivo de hasta 16 MB en tamaño. Intentemos instalar el complemento nuevamente.
Incluso después de configurar el tamaño del archivo Nginx, el límite de carga de archivos PHP sigue bloqueando la carga. Veamos cómo cambiarlo.
Cambiar el límite de tamaño de carga de PHP
Nginx se usa junto con aplicaciones web basadas en PHP, y el problema que se muestra arriba puede surgir debido a un límite en el tamaño de carga del archivo PHP.
Abra el archivo 'php.ini ‘ que está presente en el directorio de configuración de PHP.
$ sudo vim /etc/php/7.4/fpm/php.ini OR $ sudo vim /etc/php.ini
Vaya a las variables upload_file_maxsize , es decir, el tamaño máximo de un archivo que se puede cargar, y post_maxsize , es decir, el tamaño máximo de una solicitud de publicación.
Como se carga un archivo como parte de la solicitud de publicación, post_maxsize debe ser siempre mayor que upload_file_maxsize .
Cambie los valores según sea necesario.
upload_max_filesize = 16M post_max_size = 20M
Guarde y salga del archivo.
Reiniciar PHP , así como Nginx , para que se produzca la nueva configuración:
$ sudo systemctl restart php7.4-fpm $ sudo systemctl restart nginx
Deberías reemplazar php7.4 en el comando anterior con cualquiera que sea su versión de PHP, o incluso simplemente 'php ' si ese es el nombre del servicio PHP en su máquina.
El tamaño de archivo recién especificado ahora está permitido para la carga de archivos en la aplicación web, y el complemento continúa con la instalación con éxito.
Conclusión
Hemos visto cómo lidiar con el problema de que una entidad de solicitud sea demasiado grande en una aplicación web basada en Nginx. Tenga en cuenta que no solo PHP, sino también si se usan otros CGI con Nginx, el problema puede ocurrir; en cuyo caso los usuarios pueden aumentar el límite en el archivo de configuración para el CGI en particular.
¡Gracias por leer y háganos saber sus pensamientos en los comentarios a continuación!