Standard nginx client_max_body_size

91

Ich habe den Nginx-Fehler erhalten:

413 Request Entity Too Large

Ich konnte client_max_body_sizemeine Datei im Serverbereich meiner Datei nginx.conf auf 20 MB aktualisieren, wodurch das Problem behoben wurde. Was ist jedoch der Standard-Nginx client_max_body_size?

atw
quelle

Antworten:

132

Der Standardwert für die client_max_body_sizeDirektive ist 1 MiB .

Es kann in gesetzt werden http, serverund im locationKontext - wie in den meisten Fällen , diese Richtlinie in einem verschachtelten Block hat Vorrang gegenüber der gleichen Richtlinie in den Vorfahren Blöcke .

Auszug aus der Dokumentation zu ngx_http_core_module :

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

Legt die maximal zulässige Größe des Client-Anforderungshauptteils fest, die im Anforderungsheaderfeld "Inhaltslänge" angegeben ist. Wenn die Größe einer Anforderung den konfigurierten Wert überschreitet, wird der Fehler 413 (Request Entity Too Large) an den Client zurückgegeben. Bitte beachten Sie, dass Browser diesen Fehler nicht korrekt anzeigen können. Wenn Sie die Größe auf 0 setzen, wird die Überprüfung der Größe des Clientanforderungskörpers deaktiviert.

Vergessen Sie nicht, die Konfiguration mit nginx -s reloadoder mit service nginx reloadvorangestellten Befehlen sudo(falls vorhanden) neu zu laden .

Ruvim
quelle
2
Wenn Sie zu spät kommen, beachten Sie, dass Sie nginx -tIhre Konfiguration vor dem Ausführen testen sollten nginx -s reload, um die Konfigurationsänderungen zu übernehmen. Es kann nicht garantieren, dass Ihre Konfiguration korrekt ist, aber es werden Syntaxfehler oder ungültige Werte abgefangen.
Kungphu
1
Ja, aber in jedem Fall nginx -s reloadwird keine syntaktisch falsche Konfiguration angewendet, sondern ein Fehler gemeldet.
Ruvim
Was ist der Maximalwert , den Nginx für diese Richtlinie unterstützt? Es gibt nichts in den Dokumenten. Apache unterstützt max . 2 GB .
Dan Dascalescu
@DanDascalescu, der Maximalwert hängt von der Typgröße ab off_t(siehe ngx_http_core_module.h). Bei einer 64-Bit- off_tGröße beträgt die ausführbare Größe 64 Bit , und der maximale Wert sollte 2 ^ 63 Byte betragen.
Ruvim
18

Die Antwort von Pooja Mane hat bei mir funktioniert, aber ich musste die Variable client_max_body_size in den Abschnitt http einfügen .

Geben Sie hier die Bildbeschreibung ein

Aleksei Mialkin
quelle
1
Ich liebe es, wenn Leute Code-Schnipsel setzen, du bist ein Held
Charden Daxicen
13

Sie können die Körpergröße in der Nginx-Konfigurationsdatei als erhöhen

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

Starten Sie nginx neu, um die Änderungen zu übernehmen.

sudo service nginx neu starten

Pooja Mähne
quelle
10
Warum 100M? Warum nicht 100G? Ihre Antwort würde sich verbessern, wenn Sie eine Begründung hinzufügen würden.
Hassan Baig
8
Ja, 42M wären besser.
Evgeni Nabokov
2
setze es 0 für unlimit
morteza moradi