Búsqueda de sitios web

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 del usuario en Nginx. Restringir el tamaño de carga de archivos es útil para evitar 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 en la carga de archivos. Para establecer el tamaño de carga del archivo, puede utilizar la directiva client_max_body_size, que forma parte del módulo ngx_http_core_module de Nginx. Esta directiva se puede establecer 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 solicitud "Content-Length". A continuación se muestra un ejemplo de cómo aumentar el límite a 100 MB en el archivo /etc/nginx/nginx.conf.

Establecido en bloque http que afecta a todos los bloques de servidores (hosts virtuales).

http {
    ...
    client_max_body_size 100M;
}    

Establecido en bloque de servidor, que afecta a un sitio/aplicación en particular.

server {
    ...
    client_max_body_size 100M;
}

Establecido en un 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 haya reiniciado el servidor HTTP, si el tamaño de una solicitud excede el valor configurado de 100 MB, se devuelve el error 413 (Entidad de solicitud demasiado grande). al cliente.

Nota: Debes tener en cuenta que en ocasiones 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.

Quizás también le interese leer los 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 monitorear el rendimiento de Nginx usando Netdata
  5. Cómo habilitar la página de estado de NGINX

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