title: Nginx 502 Bad Gateway when uploading files
body: <p>I get the following error when I try to upload files to my node.js based web app:</p>
  
  <pre><code>2014/05/20 04:30:20 [error] 31070#0: *5 upstream prematurely closed connection while reading response header from upstream, client: ... [clipped]
  </code></pre>
  
  <p>I'm using a front-end proxy here:</p>
  
  <pre><code>  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";
        }
     }
  </code></pre>
  
  <p>This is my nginx.conf file:</p>
  
  <pre><code>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/*;
  }
  </code></pre>
  
  <p>Any idea on how to better debug this? The things I've found haven't really worked (e.g. removing the tailing slash from my proxy_pass </p>