Как я могу отслеживать процесс загрузки из приложения за обратным прокси-сервером Nginx?

У меня есть сервер node.js за обратным прокси-сервером Nginx. Приложение node.js имеет конечную точку для получения загрузки файла с помощью busboy. Когда файл загружается, я хотел бы отслеживать прогресс. Однако я считаю, что Nginx буферизует его, поэтому мое приложение получает файл сразу. Как я могу сделать так, чтобы мое приложение узла получало пакеты как можно скорее? Я попытался установить следующее в файле nginx.conf:

http {
   ....
   proxy_busy_buffers_size 0;
}

а также

http {
   ....
   proxy_buffering off;
}

person Bryn    schedule 07.08.2020    source источник
comment
большинство http-клиентов отслеживают общий отправляемый байт и текущий отправляемый байт. Вы можете посмотреть свой http-клиент для этого.   -  person AnonyMouze    schedule 07.08.2020
comment
Проблема не в том, что я не знаю, как отслеживать прогресс. Проблема в том, что nginx хранит данные, а затем пересылает их, как только все это получает. - Итак, скажем, это файл размером 50 МБ, который займет 5 минут. Сервер будет сообщать о загрузке 0% до 4:59, когда он перейдет на 100%.   -  person Bryn    schedule 07.08.2020


Ответы (1)


В документации это описано. set proxy_request_buffering off; В моем случае я установил это следующим образом

location / {
   ...
   proxy_request_buffering off;
   ...
}


person Bryn    schedule 07.08.2020