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
Deixe um comentário