Maison  >  Article  >  Opération et maintenance  >  nginx ne parvient pas à télécharger les fichiers, ce qui indique que le fichier téléchargé est trop volumineux, comment résoudre le problème

nginx ne parvient pas à télécharger les fichiers, ce qui indique que le fichier téléchargé est trop volumineux, comment résoudre le problème

王林
王林avant
2020-12-10 16:07:445159parcourir

nginx ne parvient pas à télécharger les fichiers, ce qui indique que le fichier téléchargé est trop volumineux, comment résoudre le problème

Description du problème :

Échec du téléchargement du fichier, la taille du fichier est d'environ 4 Mo. Le programme de téléchargement est Java et il est écrit sur Fastdfs via le proxy inverse nginx, mais il continue d'échouer. Vérifiez le journal des erreurs nginx et l'invite est la suivante :

client intended to send too large body: 4134591 bytes

(Recommandations associées : nginx. tutoriel)

Analyse :

Selon le message d'erreur, le corps envoyé par le client est trop grand. La taille du corps du client par défaut de nginx est de 1 M.

Le document officiel est le suivant :

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.

Solution :

Selon le document officiel, vous pouvez ajouter la configuration, client_max_body_size size, dans le http, le serveur, l'emplacement et d'autres blocs de configuration dans le fichier de configuration nginx ; Pour ajuster la taille du corps des fichiers autorisés à être téléchargés par les clients. Mis à 0, indiquant aucune limite.

Exemple de code :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer