Domyślny klient nginx_max_body_size


101

Otrzymuję błąd nginx:

413 Request Entity Too Large

Udało mi się zaktualizować mój client_max_body_sizeplik nginx.conf w sekcji serwera do 20M i to rozwiązało problem. Jednak jaki jest domyślny nginx client_max_body_size?

Odpowiedzi:


143

Domyślna wartość client_max_body_sizedyrektywy to 1 MiB .

Można ją ustawić w http, servera locationkontekst - jak w większości przypadków , to dyrektywa w zagnieżdżonego bloku ma pierwszeństwo w stosunku do analogicznego dyrektywy w Przodkowie bloków .

Fragment dokumentacji ngx_http_core_module :

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

Ustawia maksymalny dozwolony rozmiar treści żądania klienta, określony w polu nagłówka żądania „Content-Length”. Jeśli rozmiar w żądaniu przekracza skonfigurowaną wartość, do klienta zwracany jest błąd 413 (zbyt duża jednostka żądania). Należy pamiętać, że przeglądarki nie mogą poprawnie wyświetlić tego błędu. Ustawienie rozmiaru na 0 wyłącza sprawdzanie rozmiaru treści żądania klienta.

Nie zapomnij ponownie załadować konfiguracji za pomocą poleceń nginx -s reloadlub service nginx reloadpoprzedzających sudo(jeśli takie istnieją).


2
Za późno, aby zauważyć, że powinieneś użyć nginx -tdo przetestowania konfiguracji przed uruchomieniem, nginx -s reloadaby zastosować zmiany w konfiguracji. Nie może zagwarantować, że konfiguracja jest poprawna, ale wykryje błędy składniowe lub nieprawidłowe wartości.
kungphu

2
Tak, ale w każdym przypadku nginx -s reloadnie zastosuje konfiguracji niepoprawnej składni, ale zgłosi błąd.
ruvim

Jaka jest maksymalna wartość obsługiwana przez Nginx dla tej dyrektywy? Nie ma nic w dokumentach. Apache obsługuje maksymalnie 2 GB .
Dan Dascalescu

@DanDascalescu, maksymalna wartość zależy od off_trozmiaru typu (patrz ngx_http_core_module.h). W przypadku pliku wykonywalnego 64-bitowego off_trozmiar pliku to 64 bity , a maksymalna wartość to 2 ^ 63 bajty.
ruvim

19

Odpowiedź Pooja Mane zadziałała dla mnie, ale musiałem umieścić zmienną client_max_body_size wewnątrz sekcji http .

wprowadź opis obrazu tutaj


15

Możesz zwiększyć rozmiar ciała w pliku konfiguracyjnym nginx jako

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

Uruchom ponownie nginx, aby zastosować zmiany.

Uruchom ponownie usługę sudo nginx


10
Dlaczego 100 mln? Dlaczego nie 100G? Twoja odpowiedź poprawiłaby się, gdybyś dodał uzasadnienie.
Hassan Baig

11
Tak, 42 ​​mln byłoby lepsze.
Evgeni Nabokov

4
ustaw 0 dla
unlimit
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.