502 Bad Gateway Nginx lors du téléchargement de fichiers
Je reçois le message d'erreur suivant lorsque j'essaie de télécharger des fichiers à mon node.js basé web app:
2014/05/20 04:30:20 [error] 31070#0: *5 upstream prematurely closed connection while reading response header from upstream, client: ... [clipped]
Je suis en utilisant un proxy frontal ici:
upstream app_mywebsite {
server 127.0.0.1:3000;
}
server {
listen 0.0.0.0:80;
server_name {{ MY IP}} mywebsite;
access_log /var/log/nginx/mywebsite.log;
# pass the request to the node.js server with the correct headers and much more can be added, see nginx config options
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://app_mywebsite;
proxy_redirect off;
# web socket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
C'est mon nginx.fichier conf:
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 2048;
multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 20;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
# default_type application/octet-stream;
default_type text/html;
charset UTF-8;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_min_length 256;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Une idée sur la meilleure façon de déboguer ce? Les choses que j'ai trouvé n'ai pas vraiment travaillé (par exemple, enlever les résidus de slash de mon proxy_pass
OriginalL'auteur bob_cobb | 2014-05-20
Vous devez vous connecter pour publier un commentaire.
Essayez d'ajouter les éléments suivants à votre
server{}
bloc, j'ai été capable de résoudre un reverse proxy Nginx question par la définition de ces proxy attributs:Ok, donc il semble que si je supprime le recadrage de l'image avec imagemagick, il fonctionne très bien. Il y a un problème avec imagemagick et nginx, je suppose. Maintenant j'ai juste besoin de savoir comment résoudre le problème.
J'ai eu de travail par l'augmentation de ces valeurs à 1024k.
OriginalL'auteur doublesharp
Donc au final j'ai fini par changer dans mon keepalive de
20
à64
et il semble traiter de gros fichiers bien maintenant. La poisse, c'est que je l'ai ré-écrit à partir de zéro l'image de téléchargement de la bibliothèque, j'ai été en utilisantnode-imager
, mais au moins j'ai appris quelque chose.J'ai exactement le même problème avec
nginx
&node-imager
pouvez-vous nous dire comment vous l'avez résolu? peut-être même pull request surnode-imager
ou de télécharger un résumé?J'ai le même problème
https://stackoverflow.com/questions/53582574/502-bad-gateway-nginx-shiny-file-upload
quelqu'un pourrait-il partager la façon dont il est fixe?OriginalL'auteur bob_cobb
Essayez d'ajouter le suivant ci-dessous pour les
http
section de votre/etc/nginx/nginx.conf
:et le redémarrage de nginx.
Plus lecture: nginx docs
OriginalL'auteur Nicu Surdu
Essayez ceci:
client_max_body_size
- La taille maximale des fichiers téléchargeableset la partie serveur:
large_client_header_buffers 8 32k
etproxy_buffer_size 32k
- est suffisant pour la plupart des scripts, mais vous pouvez essayer de 64k, 128k, 256k...
(désolé, je ne suis pas anglophone) =)
essayez d'ajouter large_client_header_buffers de "http", et proxy_buffer_size "serveur/la section" emplacement, comme indiqué dans ma réponse (j'ai édité)
Maintenant: nginx: [emerg] "proxy_busy_buffers_size" doit être inférieure à la taille de tous les "proxy_buffers" moins un tampon dans /etc/nginx/nginx.conf:83
S'il vous plaît, lire message d'erreur! =) si on a:
proxy_buffers 4 256k;
alors: (4 * 256) - (1 * 256) = 768k nous pouvons définir *maximum* 768kproxy_busy_buffers_size 768k;
mais, c'est plus que suffisantproxy_buffer_size 16k
proxy_buffers 8 32k;
proxy_busy_buffers_size 224k;
OriginalL'auteur ist