Nginx 502 Bad Gateway beim hochladen von Dateien
Bekomme ich die folgende Fehlermeldung, wenn ich versuche, Dateien hochzuladen, um meine node.js basierten web-app:
2014/05/20 04:30:20 [error] 31070#0: *5 upstream prematurely closed connection while reading response header from upstream, client: ... [clipped]
Ich bin mit einem front-end-proxy hier:
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";
}
}
Dies ist meine nginx.conf-Datei:
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/*;
}
Irgendeine Idee, wie man besser Debuggen? Die Dinge, die ich gefunden habe, haben nicht wirklich funktioniert (z.B. entfernen der tailing slash von meinem proxy_pass
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, den folgenden zu Ihrem
server{}
block, ich war in der Lage zu lösen, Nginx reverse-proxy-Problem durch die Definition dieser proxy-Parametern:Also am Ende landete ich ändern in meinem keepalive aus
20
zu64
und es scheint zum Umgang mit großen Dateien gut jetzt. Der Mist daran ist, dass ich neu geschrieben von Grund auf die Bild-upload-Bibliothek war ich mitnode-imager
, aber wenigstens habe ich etwas gelernt von ihm.nginx
&node-imager
können Sie bitte sagen, wie du es behoben? vielleicht ziehen Sie sogar auf Anfragenode-imager
hochladen oder eine Zusammenfassung?https://stackoverflow.com/questions/53582574/502-bad-gateway-nginx-shiny-file-upload
könnte jemand erzählen, wie es fixiert ist?Versuchen Sie, die folgenden unten, um die
http
Abschnitt Ihrer/etc/nginx/nginx.conf
:und nginx neu starten.
Weiter Lesen: nginx docs
Versuchen Sie dies:
client_max_body_size
- Maximale uploadable Dateigröße- und server-Abschnitt:
large_client_header_buffers 8 32k
undproxy_buffer_size 32k
- ist genug für die meisten Skripte, aber Sie können versuchen, 64k, 128k, 256k...
(sorry, ich bin nicht Deutsch sprechend) =)
proxy_buffers 4 256k;
dann: (4 * 256k) - (1 * 256 Kb) = 768k wir können set *maximal* 768kproxy_busy_buffers_size 768k;
aber, diese, mehr als genugproxy_buffer_size 16k
proxy_buffers 8 32k;
proxy_busy_buffers_size 224k;