Cómo limitar el tamaño de carga de archivos en Nginx


En nuestro último artículo, explicamos cómo limitar el tamaño de carga de archivos de usuario en Apache. En este artículo, explicaremos cómo limitar el tamaño de carga de archivos de usuario en Nginx. Restringir el tamaño de carga del archivo es útil para prevenir algunos tipos de ataques de denegación de servicio (DOS) y muchos otros problemas relacionados.

De forma predeterminada, Nginx tiene un límite de 1 MB para la carga de archivos. Para establecer el tamaño de carga del archivo, puede usar la directiva client_max_body_size , que es parte del módulo ngx_http_core_module de Nginx. Esta directiva se puede configurar en el contexto http, servidor o ubicación.

Establece el tamaño máximo permitido del cuerpo de la solicitud del cliente, especificado en el campo de encabezado de la solicitud "Longitud de contenido". A continuación, se muestra un ejemplo de cómo aumentar el límite a 100 MB en el archivo /etc/nginx/nginx.conf .

Establecer en bloque http que afecta a todos los bloques de servidor (hosts virtuales).

http {
    ...
    client_max_body_size 100M;
}    

Establecer en el bloque del servidor, que afecta a un sitio/aplicación en particular.

server {
    ...
    client_max_body_size 100M;
}

Establecer en el bloque de ubicación, que afecta a un directorio particular (cargas) en un sitio/aplicación.

location /uploads {
    ...
    client_max_body_size 100M;
} 

Guarde el archivo y reinicie el servidor web Nginx para aplicar los cambios recientes usando el siguiente comando.

# systemctl restart nginx       #systemd
# service nginx restart         #sysvinit

Una vez que haya guardado los cambios y reiniciado el servidor HTTP, si el tamaño de una solicitud excede el valor configurado de 100 MB, el error 413 (Solicitud de entidad demasiado grande) se devuelve al cliente.

Nota: debe tener en cuenta que a veces los navegadores pueden no mostrar correctamente este error. Y establecer un valor (tamaño) en 0 deshabilita la verificación del tamaño del cuerpo de la solicitud del cliente.

También le gustaría leer estos siguientes artículos relacionados con la administración del servidor web Nginx.

  1. Cómo cambiar el puerto Nginx en Linux
  2. Cómo ocultar la versión del servidor Nginx en Linux
  3. ngxtop: supervise los archivos de registro de Nginx en tiempo real en Linux
  4. Cómo supervisar el rendimiento de Nginx mediante Netdata
  5. Cómo habilitar la página de estado de NGINX

Referencia: documentación de ngx_http_core_module

¡Eso es todo! En este breve artículo, hemos explicado cómo limitar el tamaño de carga de archivos de usuario en Nginx. Puede compartir sus pensamientos con nosotros a través del formulario de comentarios a continuación.