Nginx client_max_body_size padrão

101

Tenho recebido o erro nginx:

413 Request Entity Too Large

Consegui atualizar meu client_max_body_sizena seção do servidor do meu arquivo nginx.conf para 20M e isso corrigiu o problema. No entanto, qual é o nginx padrão client_max_body_size?

atw
fonte

Respostas:

143

O valor padrão para a client_max_body_sizediretiva é 1 MiB .

Ele pode ser definido em http, servere locationcontexto - como nas maioria dos casos , esta directiva em um bloco aninhado tem precedência sobre a mesma directiva nos blocos antepassados .

Trecho da documentação ngx_http_core_module :

Syntax:   client_max_body_size size;
Default:  client_max_body_size 1m;
Context:  http, server, location

Define o tamanho máximo permitido do corpo da solicitação do cliente, especificado no campo do cabeçalho da solicitação “Content-Length”. Se o tamanho em uma solicitação exceder o valor configurado, o erro 413 (Solicitação de entidade muito grande) é retornado ao cliente. Esteja ciente de que os navegadores não podem exibir esse erro corretamente. Definir o tamanho como 0 desativa a verificação do tamanho do corpo da solicitação do cliente.

Não se esqueça de recarregar a configuração por nginx -s reloadou service nginx reloadcomandos precedidos de sudo(se houver).

ruvim
fonte
2
Chegando tarde, observe que você deve usar nginx -tpara testar sua configuração antes de executar nginx -s reloadpara aplicar as alterações de configuração. Ele não pode garantir que sua configuração esteja correta, mas detectará erros de sintaxe ou valores inválidos.
kungphu
2
Sim, mas em qualquer caso, nginx -s reloadnão aplicará uma configuração sintaticamente incorreta, mas relatará um erro.
ruvim
Qual é o valor máximo que o Nginx suporta para esta diretiva? Não há nada nos documentos. Apache suporta 2 GB no máximo .
Dan Dascalescu
@DanDascalescu, o valor máximo depende do off_ttamanho do tipo (consulte ngx_http_core_module.h). No caso do executável de off_t64 bits , o tamanho é 64 bits e o valor máximo deve ser 2 ^ 63 bytes.
ruvim
19

A resposta de Pooja Mane funcionou para mim, mas eu tive que colocar a variável client_max_body_size dentro da seção http .

insira a descrição da imagem aqui

Aleksei Mialkin
fonte
15

Você pode aumentar o tamanho do corpo no arquivo de configuração nginx como

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

Reinicie o nginx para aplicar as alterações.

sudo service nginx restart

Pooja Mane
fonte
10
Por que 100 milhões? Por que não 100G? Sua resposta melhoraria se você acrescentasse uma justificativa.
Hassan Baig
11
Sim, 42M seria melhor.
Evgeni Nabokov
4
defina-o como 0 para unlimit
morteza moradi