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
(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.
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; .... }
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!