nginx文件使用proxy_pass上传流媒体

时间:2012-09-05 13:17:05

标签: file-upload nginx

我将nginx配置为我的node.js应用程序的反向代理,用于使用proxy_pass指令进行文件上传。 它的工作原理,但我的问题是nginx在将它传递给上游之前等待整个文件体上传。这会给我带来麻烦,因为我想在我的应用程序中跟踪上传进度。知道如何配置nginx以便实时将文件体流式传输到上游吗?

3 个答案:

答案 0 :(得分:33)

没有办法(至少截至目前)。在nginx开始将其发送到上游之前,将始终缓冲完整请求。要跟踪上传的文件,您可以尝试使用upload progress模块。

更新:在nginx 1.7.11中,proxy_request_buffering指令可用,允许禁用请求体的缓冲。不过应该谨慎使用,请参阅文档。

答案 1 :(得分:5)

Tengine(来自nginx的分支)通过将proxy_request_buffering设置为off来支持无缓冲上传。

http://tengine.taobao.org/document/http_core.html

已更新:在nginx 1.7.11中proxy_request_buffering指令可用,如上所述@Maxim Dounin

答案 2 :(得分:-3)

我怀疑:

proxy_buffering off;

是您所需要的,请参阅http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering