250 votes

Nginx - client_max_body_size n’a aucun effet

Nginx me répète . Googler et RTFM m’a signalé à . Je l’ai mis dans la ainsi que dans le `` , redémarré Nginx une couple de fois, mais j’obtiens toujours le message d’erreur.

A j’ai oublier quelque chose ? Le backend est ( et `` sont définies en conséquence).

152voto

nembleton Points 945

Après nginx documentation, vous pouvez définir client_max_body_size 20 m (ou n’importe quelle valeur que vous avez besoin) dans le contexte suivant :

137voto

jadik Points 169

NGINX les gros téléchargements sont correctement de travail hébergé sur des sites WordPress, enfin (comme par les suggestions de nembleton & rjha94)

J'ai pensé qu'il serait peut-être utile à quelqu'un, si j'ai ajouté un peu de clarification de leurs suggestions. Pour commencer, veuillez vous assurer que vous avez inclus votre augmentation de téléchargement de la directive dans TOUS les TROIS de définition de blocs (serveur, et lieu de http). Chacun doit avoir une ligne distincte de l'entrée. Le résultat ressemble à quelque chose comme ceci (où l' ... reflète d'autres lignes dans le bloc de définition):

http {
    ...
    client_max_body_size 200M;
}    

(dans mon ISPconfig 3 de la configuration, ce bloc est dans /etc/nginx/nginx.fichier conf)

server {
    ...
    client_max_body_size 200M;
}

location / {
    ...
    client_max_body_size 200M;
} 

(dans mon ISPconfig 3 de l'installation, ces blocs sont dans /etc/nginx/conf.d/par défaut.fichier conf)

Aussi, assurez-vous que votre serveur php.fichier ini est compatible avec ces NGINX paramètres. Dans mon cas, j'ai changé la mise en php.ini File_Uploads article à lire:

upload_max_filesize = 200M

Remarque: si vous gérez un ISPconfig 3 setup (ma configuration est sur CentOS 6.3, comme par Le Serveur Idéal), vous aurez besoin pour gérer ces entrées dans plusieurs fichiers distincts. Si votre configuration est similaire à celle de l'étape-par-étape de l'installation, les fichiers de conf NGINX vous avez besoin de modifier se trouvent ici:

/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf 

Mon php.fichier ini était situé ici:

/etc/php.ini

J'ai continué à l'ignorer, le http {} bloc dans la nginx.fichier conf. Apparemment, surplombant cela a eu pour effet de limiter le téléchargement à la 1M limite par défaut. Après avoir fait les changements associés, vous voulez aussi être sûr de redémarrer votre NGINX et PHP FastCGI Process Manager (PHP-FPM). Sur la configuration ci-dessus, j'utilise les commandes suivantes:

/etc/init.d/nginx restart
/etc/init.d/php-fpm restart

14voto

rjha94 Points 1879

Si vous définissez client_max_body_size directive à l’intérieur du bloc {} http et non à l’intérieur du bloc {} emplacement veuillez consulter. Je l’ai mis à l’intérieur du bloc {} http et ça marche

14voto

digitaltoast Points 69

Quelqu'un de correct moi si cela est mauvais, mais je voudrais bloquer tout bas autant que possible et si vous avez seulement une cible pour les ajouts (telle qu’elle habituellement le cas), puis juste cibler vos modifications à un fichier. Cela fonctionne pour moi sur l’Ubuntu nginx-extras mainline 1,7 + package :

3voto

Neolo Points 21

Il y a problème avec client_max_body_size sur SSL est activé. Je viens de recevoir même problème sur la version nginx a duré, et il ne tient pas compte de la présente directive dans les connexions sécurisées. Toujours à la recherche de solution.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X