Limite de carga de archivos en Nginx
Introducción
El siguiente mini-como es debido a una situación con la que me tope, donde tengo un servicio Nginx como proxy para una herramienta de chat.
Me vi en la necesidad de enviar un documento a través de esa herramienta y el archivo se quedaba "pensando" al momento de enviar el archivo/imagen. Pero no me da daba mas información de que estaba pasando.
Revise el log de la herramienta de chat, pero no me dio información, así que revise el log de nginx y ahí encontré los siguiente:
2021/03/26 12:44:12 [error] 231926#0: *1819192 client intended to send too large body: 1877132 bytes, client: 172.16.1.20, server: _
El cual me dio una pista de que estaba sucediendo, nginx me estaba limitando el tamaño de envio (subida) de archivos.
Para lo cual tuve que ver como incrementar el tamaño y aqui lo que hice.
Configurando
Por defecto, según leí, nginx permite la carga máxima de subida de 1.3 MB, por lo que esto me impedía enviar archivos mas grande.
Para incrementar el limite hay que configurar el parámetro client_max_body_size. Ya que la herramienta utiliza POST para el envío de archivos en body de la solicitud.
Para esto se puede configurar de 2 formas, dentro de la configuracion del http que maneja nginx o dentro del servidor/ruta que se quiera procesar.
Esto es:
http {
...
client_max_body_size 100M;
}
o en
server {
...
client_max_body_size 100M;
}
o en
location /uploads {
...
client_max_body_size 100M;
}
Dependerá de como se quiera manejar el permiso, si es para todos el servicio, entonces seria en http, si es para un servidor en particular en server, o si es solo para una ruta. Ya será como se necesite trabajar.
Posterior a eso solo se manda reiniciar el servicio de nginx y listo. Esperando sea de utilidad, saludos.
Comentarios
Publicar un comentario
Son bienvenidos tus comentarios, solo se respetuoso. Saludos