@likejavascript

Как правильно настроить nginx для загрузки картинок в связке с nodejs pipe?

Для загрузки картинок в nodejs (на dev машине) использую следующий подход:

var http = require('http'),
    path = require('path'),
    os = require('os');

function (req, res) {
    var busboy = new Busboy({ headers: req.headers });
    busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
      var saveTo = path.join(os.tmpDir(), path.basename(fieldname));
      file.pipe(fs.createWriteStream(saveTo));
    });
    busboy.on('finish', function() {
      res.writeHead(200, { 'Connection': 'close' });
      res.end("That's all folks!");
    });
    return req.pipe(busboy);
  }
  res.writeHead(404);
  res.end();
}


На production сервере стоит nginx и мне нужно понять как есть настроить так, чтобы на стороне nodejs не потерялась производительность и сохранилась возможность потоковой загрузки файлов.

nginx проксирует запросы с NodeJS следующим образом:

upstream node_upstream {
    server 127.0.0.1:3000;
    keepalive 64;
}

server {
    listen 80;

    location / {
        proxy_redirect              off;
        proxy_set_header            X-Real-IP            $remote_addr;
        proxy_set_header            X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header            X-Forwarded-Proto    $scheme;
        proxy_set_header            Host                 $http_host;
        proxy_set_header            X-NginX-Proxy        true;
        proxy_set_header            Connection           "";
        client_max_body_size        10m;
        client_body_buffer_size     128k;
        proxy_http_version          1.1;
        proxy_pass                  http://node_upstream;
        proxy_intercept_errors      on;
    }
}


Подскажите как правильно настроить nginx, чтобы потокового загружать файлы с помощью nodejs?
  • Вопрос задан
  • 3563 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы