Nginx kann keine Dateien hochladen und weist darauf hin, dass die hochgeladene Datei zu groß ist. So lösen Sie das Problem

王林
Freigeben: 2020-12-10 16:07:44
nach vorne
5172 Leute haben es durchsucht

Nginx kann keine Dateien hochladen und weist darauf hin, dass die hochgeladene Datei zu groß ist. So lösen Sie das Problem

Problembeschreibung:

Fehler beim Hochladen der Datei, die Dateigröße beträgt etwa 4 MB. Das Upload-Programm ist Java und wird über den Nginx-Reverse-Proxy in Fastdfs geschrieben, schlägt jedoch immer wieder fehl. Überprüfen Sie das Nginx-Fehlerprotokoll und der folgende Inhalt wird angezeigt:

client intended to send too large body: 4134591 bytes
Nach dem Login kopieren

(Verwandte Empfehlung: nginx-Tutorial)

Analyse:

Laut Fehlermeldung ist der vom Client gesendete Text zu groß. Die Standardgröße des Client-Textes von Nginx beträgt 1 MB.

Das offizielle Dokument lautet wie folgt:

Syntax: client_max_body_size size;
Default: client_max_body_size 1m;
Context: http, server, location
Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.
Nach dem Login kopieren

Lösung:

Gemäß dem offiziellen Dokument können Sie Konfiguration, client_max_body_size; in den HTTP-, Server-, Standort- und anderen Konfigurationsblöcken in der Nginx-Konfigurationsdatei hinzufügen, um den Körper anzupassen Größe der erlaubten Client-Upload-Dateien. Auf 0 gesetzt, was bedeutet, dass es keine Begrenzung gibt.

Codebeispiel:

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
	
    client_max_body_size 100m;
	....
	}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonNginx kann keine Dateien hochladen und weist darauf hin, dass die hochgeladene Datei zu groß ist. So lösen Sie das Problem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage