NGINX 413 Request Entity Too Large Error

Me deparei com uma “merendagem” na configuração do NGINX (nginx 413 request entity too large). Tentava enviar um arquivo encodado na base64 para um servidor recém inaugurado quando encontrei dificuldades para enviar alguns arquivos.  De inicio imaginei que pudesse ser um problema na origem, do servidor que estava enviando, debugando descobri que o CURL estava dando timeout por conta do enorme tamanho do arquivo e da pequena banda larga, resolvido neste post.

Depois de resolver esse problema, o arquivo continuava a não subir, até que analisando o log de retorno vi a linda mensagem: 413 Request Entity Too Large Error and Solution

Resposta melhor definida que essa só se viesse me dizendo “Thiago aumente o client_max_body_size no nginx.conf!”. Esse é o lance, o tamanho padrão do client_max_body_size é de 1MB, ao menos nessa versão que compilei. O que fiz foi o seguinte:

Abri o arquivo nginx.conf

thiago# /etc/nginx/nginx.conf

Como quero que todos os sites tenham o mesmo limite coloquei dentro do http 

http{
[...]
client_max_body_size 10M; #10mega bytes
[...]
}

Se você quiser definir um tamanho maior ou menos para um determinado dominio você coloca dentro do arquivo *.conf do seu dominio, em server (que também pode estar definido dentro do nginx.conf).

server {
listen 80 ; ## listen for ipv4; this line is default and implied
server_name hml.thiagosantos.com;
set $root_path '/var/www/';
root $root_path;
charset off;
client_max_body_size 10M;
[...]
}

Reinicie o NGINX e tudo deve correr bem!
Lembrando que há outros programas que podem limitar o tamanho do body ou o do post, como o PHP. Há configurações especificas no php.ini para definir esses termos.

http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size


Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.