Nginx proxy – 413 Request Entity Too Large

413 Request Entity Too Large ese era el mensaje que leía nada más subir un archivo a través de un endPoint que había creado.

Actualmente estoy utilizando mucho Docker para mis desarrollos en laravel y me esta gustando mucho el poder usar un proxy nginx de jwilder el cual me permite gestionar mejor mis proyectos.

He estado trabajando sin problemas hasta que tuve que subir un archivo de más de 2MB, bueno me dije le digo a nginx de mi proyecto el tamaño máximo que va a admitir, entonces procedí a modificar la configuración para agregar el parámetro  client_max_body_size
Mi archivo de configuración que uso con nginx (default.conf) quedo así.

server {
    client_max_body_size 100M;
    ...
    ...
    ...
}

Reinicio los servicios pero nada sigue el mismo error, se me hacia muy raro dado que le decía a nginx la cantidad de máxima que admite, empieza a buscar otra solución en internet pero nada el error persistía.

Hasta que mi compañero me dijo que donde deberíamos de realizar el cambio era en el nginx-proxy de jwilder, para una prueba rápida él había editado directamente el contenedor pero claro si el contenedor se paraba y se volvía a levantar el servicio, la configuración se perdería.

Así que me puse a investigar y vi como hacerlo.

El primer paso es crear el archivo client_max_body_size.conf y dentro escribir esta configuración

client_max_body_size 10m;

Le vamos a indicar que el archivo pesará como máximo 10MB

Ahora bien agregamos dicho archivo a nuestro docker-compose.yml

version: "3"
services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    restart: always
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./client_max_body_size.conf:/etc/nginx/conf.d/client_max_body_size.conf:ro

networks:
  default:
    external:
      name: nginx-proxy

Una vez tenemos la nueva configuración agregada vamos a proceder a detener el servicio.

docker-compose down

Y como último paso volvemos a levantar el servicio.

docker-compose up -d

Con esto ya tenía resuelto el problema, me imagino que cada uno tiene una configuración diferente pero si usan nginx proxy de jwilder les puede ayudar a resolver este error que me tuvo mucho tiempo hasta que pude resolverlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *