Ir al contenido principal

Limite de carga de archivos en Nginx

 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

Entradas más populares de este blog

Como montar particiones LVM en Linux

Como están lectores, reportandome después de varios meses fuera. Hace un par de días vi un howto que me gusto y quiero compartir. Nota: lo siguiente es una traducción, el original lo pueden ver el siguiente link: How to mount an LVM partition on Linux Introducción LVM es una herramienta de administración de volúmenes lógicos (particiones) la cual te permite administrar el espacio de disco usando la connotación de volúmenes lógicos y grupo de volúmenes. El mayor beneficio de usar LVM sobre las particiones clásicas es la flexibilidad en la asignación de almacenamiento para usuarios y aplicaciones sin verse limitado por el tamaño de los discos individuales. En LVM, el almacenamiento físico, en el cual se crean los volúmenes lógicos, son particiones tradicionales (/dev/sda1, /dev/sda2). Estas particiones deben ser marcadas como "volúmenes físicos" y etiquetadas como "Linux LVM", esto para ser usadas en LVM. Como no montar Unas vez que las particiones h

Configurando interfaces de red virtuales en Linux

Estimados, de nuevo en acción retomando mi rumbo. Les traigo un traducción de un howto que me llamo la atención y creo que es bueno tener información en castellano. Así que aquí esta: La entrada original la pueden tener aqui (si te gusta leer en ingles), comencemos. Introducción ¿Sabia que puedes asignar mas de una dirección IP a una única interfaz de red? Esta técnica es muy utilizada, por ejemplo cuando se trabaja con Apache y host virtuales, esto para permitir accesar al mismo servicio pero usando dos direcciones IP. Interfaz de red virtual temporal  El proceso de crear interfaces de red virtual en +GNU/Linux  es muy simple. Esto involucra una ejecución simple del comando ifconfig ifconfig eth0:0 123.123.22.22 El comando anterior creara una nueva interfaz de red virtual basada en la interfaz física de eth0 . Lo condición mas importante para crear una interfaz de red virtual es la interfaz física de red, como en nuestro ejemplo, eth0 debe existir. El ejemplo comple

Como leer/visualizar archivos utmp, wtmp y btmp en Linux

Lectores, les paso este "Como" de linux, algo que debe ser usado por cualquier sysadmin de Linux. Esperando aportar conocimiento, aqui les dejo. Introducción. En sistemas operativos Linux/Unix todo es registrado en algun lado (los conocidos logs). La mayoria de registros del sistema se almacenan en el directorio /var/log . El directorio contiene registros relacionados a distintos servicios y/o aplicaciones. En este directorio tenemos algunos archivos como utmp , wtmp y btmp . Estos archivos contienen todo el detalle de registro de inicio (login) y termino (logout) de sesiones de usuarios ya sea local, sistemas remoto, como estado en el sistema, tiempo en linea, etc. Informacion sobre los archivos utmp : te mostrara informacion completa del acceso de usuarios, la terminal que usa, termino de sesion, eventos del sistema y el estado actual del mismo, etc. wtmp : contiene el historio del archivo utmp btmp : registros solo intentos fallidos de sesion. Como no