Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Si una carga de navegador de Nextcloud se detiene en 2 GB, aumente el límite en cada capa que maneja la solicitud: PHP, el servidor web o proxy inverso y cualquier almacenamiento temporal en uso. Para un objetivo de 5 GB, una configuración típica de PHP-FPM y Nginx necesita upload_max_filesize = 5G, post_max_size = 6G, y client_max_body_size 5G, además de suficiente espacio en disco y tiempo para la transferencia.

No existe un límite universal de 2 GB en Nextcloud. El manual de administración actual indica que el tamaño máximo de carga predeterminado es de 512 MB, mientras que un límite inferior a 2 GB representa un tope estricto en sistemas de 32 bits. Un servidor que se detiene exactamente en 2 GB probablemente esté alcanzando un límite configurado o un límite intermedio. Los pasos que se describen a continuación utilizan 5 GB como ejemplo; sustituya este valor por el tamaño de archivo máximo que realmente necesite.

¿El límite de 2 GB proviene de Nextcloud?

A menudo, el límite visible lo establece PHP o el servidor web, en lugar de una configuración de Nextcloud. El máximo admitido por Nextcloud también depende del sistema operativo, el sistema de archivos, la cuota de la cuenta y el espacio disponible en disco temporal. Su cliente de sincronización de escritorio es un caso aparte: transfiere archivos en fragmentos más pequeños y no está sujeto a los mismos límites de carga por solicitud que se describen aquí.

Primero, identifica la ruta de la solicitud. Verifica si los usuarios suben archivos a través del navegador, WebDAV o el cliente de escritorio, y si el sitio pasa por Nginx, Apache, un balanceador de carga o el proxy del proveedor de alojamiento. Si no administras el servidor, envía al administrador el tamaño del archivo que falla, el método de carga, la hora del fallo y cualquier código de error; solo ellos pueden modificar los límites del servidor.

¿Qué ajustes de PHP debería cambiar?

Para PHP-FPM, edite la configuración utilizada por el servicio PHP-FPM que sirve a Nextcloud, no solo la configuración de PHP de la línea de comandos. En Debian o Ubuntu, una ruta común es /etc/php/8.2/fpm/php.ini; reemplace 8.2con la versión de PHP instalada. Su distribución o contenedor puede usar una ruta diferente. El manual de PHP indica que post_max_sizedebe ser mayor que upload_max_filesize, así que deje espacio para la sobrecarga de la solicitud.

Un archivo de configuración de PHP-FPM abierto en un editor de código, con la ruta /etc/php/8.2/fpm/php.ini visible.
Ejemplo de ruta de configuración de PHP-FPM. Utilice la versión de PHP y la ruta de archivo activas en su servicio Nextcloud.

Establezca valores apropiados para su servidor. Para el ejemplo de 5 GB:

upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600
Configuración de PHP que muestra upload_max_filesize establecido en 5G, post_max_size establecido en 6G y tiempos de espera de entrada y ejecución establecidos en 3600 segundos.
Valores de ejemplo de PHP-FPM para un destino de carga de 5 GB; post_max_size se establece más alto que upload_max_filesize.

Los valores de tiempo de espera son ejemplos, no requisitos universales. Las conexiones lentas, los servidores congestionados y las cargas que deben ensamblarse al final pueden requerir más tiempo. La configuración de memoria de PHP y los límites de recursos por proceso siguen siendo importantes: no establezca automáticamente el límite de memoria de cada proceso PHP-FPM en varios gigabytes. La guía de PHP de Nextcloud recomienda al menos 512 MB de memoria por proceso; supervise el host y su grupo de PHP-FPM antes de aumentar los límites de recursos.

Guarde el archivo y reinicie el servicio PHP-FPM correspondiente para que lea la nueva configuración. Por ejemplo, en un sistema que utiliza PHP 8.2, el servicio podría ser php8.2-fpm:

sudo systemctl restart php8.2-fpm

Los nombres de los servicios varían. En los contenedores, actualice la configuración o imagen montada y vuelva a crear el contenedor PHP según el proceso de esa implementación.

¿Cómo se aumenta el límite del servidor web?

Para Nginx, coloque la directiva body-size en el bloque activo; para Nextcloud, o en un bloque serveraplicable más específico :location

client_max_body_size 5G;
Una configuración de servidor Nginx en un editor con la directiva client_max_body_size 5G; visible dentro de un bloque de servidor.
Coloca el límite de tamaño del cuerpo de Nginx en el bloque del servidor activo que gestiona las solicitudes de Nextcloud.

A continuación, valide la configuración y reinicie Nginx:

sudo nginx -t
sudo systemctl reload nginx

Si Nginx informa un error de sintaxis, corríjalo antes de recargar. Si hay otro proxy, controlador de entrada o puerta de enlace de alojamiento delante, es posible que imponga su propio límite de tamaño de cuerpo de solicitud; aumente también ese límite. Un límite en un proxy ascendente puede rechazar la carga incluso cuando el host de Nextcloud esté configurado correctamente.

Para Apache, inspeccione LimitRequestBodyla configuración del host virtual o directorio correspondiente. La documentación actual de Nextcloud indica que Apache HTTP Server 2.4.54 y versiones posteriores establecen esta directiva por defecto en 1 GiB; esto puede bloquear una carga de una sola solicitud que supere ese tamaño. Establezca un límite de bytes intencional adecuado para el host, o úselo 0solo si no desea deliberadamente ningún límite de tamaño de cuerpo de Apache. Apache también puede necesitar tiempos de espera de solicitud más largos, especialmente si mod_reqtimeoutestá habilitado.

¿Pueden los problemas de almacenamiento o los tiempos de espera seguir impidiendo la carga?

Sí. El directorio temporal de subida de PHP, el directorio temporal configurado de Nextcloud y el de Nginx client_body_temp_pathdeben tener suficiente espacio libre y ser escribibles. Deje espacio para subidas simultáneas y, en algunas configuraciones de almacenamiento, para el ensamblaje de los fragmentos subidos. Compruebe el sistema de archivos correspondiente df -hy confirme que la cuenta de servicio puede escribir en el directorio temporal configurado. No apunte una configuración temporal a un volumen lleno o de solo lectura.

Compruebe también la cuota de Nextcloud del usuario y el espacio de almacenamiento libre del servidor. Aumentar el límite de tamaño de la solicitud no incrementa la cuota del usuario ni crea capacidad de disco. Aumente la cuota solo cuando la cuenta disponga de espacio suficiente para el archivo. Si el error se produce cerca del final de una carga o se informa de un tiempo de espera agotado o un error de puerta de enlace, revise los registros de PHP, del servidor web, del proxy y de Nextcloud antes de aumentar más límites. El manual de Nextcloud identifica específicamente los tiempos de espera agotados de PHP y de Nginx fastcgi_read_timeoutcomo posibles causas, incluso durante las solicitudes MOVE finales.

Una advertencia: PHP upload_max_filesizepodría post_max_sizeno gestionar de la misma manera las solicitudes PUT de un solo archivo WebDAV ni las solicitudes de carga por fragmentos de Nextcloud; en esos casos, los tiempos de espera de PHP y del servidor web pueden ser el factor limitante. Diagnostique el método de carga antes de modificar valores que no le correspondan.

¿Cómo se puede confirmar la solución?

Comience con un archivo de prueba que supere con creces el límite anterior y, a continuación, pruebe con un archivo cercano al nuevo límite. Suba el archivo a través del mismo navegador o cliente que falló inicialmente. Confirme que la transferencia se completa, que el archivo aparece con el tamaño esperado y que se puede descargar o abrir. Un indicador verde de carga completada en la vista de Archivos es una primera comprobación útil, pero compare también el tamaño del archivo almacenado.

La vista de Archivos de Nextcloud muestra el archivo archive-3gb.zip con un tamaño de 3 GB y una marca de verificación verde que indica que la operación se ha completado correctamente.
Tras el cambio, confirme que un archivo de prueba de mayor tamaño que el límite anterior aparece con el tamaño esperado y se muestra como completo.

Si la prueba sigue fallando, utilice el error para identificar la siguiente limitación: un código HTTP 413 indica un límite en el cuerpo de la solicitud, un código 504 o un fallo cerca de la finalización sugiere un tiempo de espera agotado, y un mensaje de cuota o espacio en disco indica la capacidad de almacenamiento. Revise los registros con la misma marca de tiempo y ajuste únicamente la configuración responsable. Mantenga el límite cerca del tamaño máximo de carga previsto y conserve suficiente espacio temporal para la actividad simultánea.

Documentación oficial

Dejar un comentario

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Ejecuta la reparación de OCC de Nextcloud de forma segura, previsualiza los cambios en la base de datos y comprueba por qué persiste la advertencia.

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Permita la carga de archivos más grandes en el navegador Nextcloud alineando la configuración de PHP, Nginx o Apache, el almacenamiento temporal y el tiempo de espera, y verifique qué límite está bloqueando el archivo.

Borre la advertencia de memoria PHP de Nextcloud en el servidor web.

Establezca el límite de memoria PHP que Nextcloud utiliza realmente, reinicie el servicio correcto y confirme la configuración de 512 MB en la Vista general de administración.

Conecta un bucket compatible con S3 al almacenamiento externo de Nextcloud.

Monta un bucket de almacenamiento de objetos compatible en Nextcloud utilizando su backend S3, con el punto final, las credenciales, el ámbito de acceso y los pasos de verificación correctos.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada de forma segura un directorio de datos de Linux Nextcloud a una unidad externa utilizando un montaje UUID persistente, el modo de mantenimiento, una copia verificada y el enlace simbólico de la ruta original.

Error de la base de datos de Nextcloud después de una actualización: qué comprobar primero

Restaure el acceso a Nextcloud después de una actualización diagnosticando errores SQL, comprobando la conectividad de la base de datos y completando de forma segura las migraciones interrumpidas.

Restablecer una contraseña de administrador de Nextcloud perdida con OCC

Utilice el comando OCC de Nextcloud para restablecer la contraseña de administrador desde la consola del servidor, con instrucciones sobre nombres de usuario, permisos y proveedores de inicio de sesión externos.

Agregue el encabezado HSTS en el punto final HTTPS que sirve a Nextcloud.

Elimine la advertencia HSTS de Nextcloud configurando el encabezado en Apache, NGINX o su proxy TLS, y luego verifique la respuesta HTTPS pública de forma segura.

Solucionar problemas de instalación de la aplicación Nextcloud que reportan falta de conexión a Internet

Solucionar problemas de instalación de la aplicación Nextcloud que reportan falta de conexión a Internet

Identificar los fallos de instalación de la App Store y determinar si se deben a problemas de DNS, HTTPS, proxy, TLS o configuración del propio servidor Nextcloud.

Controla los picos de uso de CPU de Nextcloud Preview con una cola programada.

Traslada el trabajo de creación de miniaturas a una programación controlada en segundo plano, recorta los tamaños de vista previa no utilizados y verifica la cola sin sobrecargar tu servidor Nextcloud.