File upload nginx文件通过代理上传流媒体

File upload nginx文件通过代理上传流媒体,file-upload,nginx,File Upload,Nginx,我将nginx配置为node.js应用程序的反向代理,以便使用proxy\u pass指令上载文件。 它可以工作,但我的问题是,nginx在将整个文件体传递到上游之前,会等待整个文件体被上传。这会给我带来问题,因为我想在我的应用程序中跟踪上传进度。您知道如何配置nginx以便将文件体实时流式传输到上游吗?我怀疑: proxy_buffering off; 是您所需要的,请参见没有办法(至少到目前为止)。在nginx开始向上游发送完整请求之前,将始终对其进行缓冲。要跟踪上载的文件,您可以尝试使用

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

我怀疑:

proxy_buffering off;
是您所需要的,请参见

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

更新:在nginx 1.7.11中,该指令可用,它允许禁用请求主体的缓冲。但使用时要小心,请参阅文档。

Tengine(来自nginx的fork)通过将proxy\u request\u buffering设置为off来支持无缓冲上传


更新:在nginx 1.7.11中,该指令可用,如上所述

我尝试过。不幸的是,该指令似乎只适用于响应缓冲(正如所述)这里有一个用于上传数据直接代理流的nginx票据,希望他们能在某个时候实现它=/upload progress module很棒,但我们在负载平衡后使用多个服务器进行上传处理,因此,总是有机会将进度更新请求路由到另一台服务器(即使有一些负载平衡技巧)。如果有人觉得这也很有用,即使代理请求缓冲被关闭,请求仍然被缓冲。在文档中:“当您关闭代理请求缓冲或fastcgi请求缓冲时,Tengine会将正文发送到后端,或者它接收到的数据超过客户端正文大小,或者已经接收到整个请求正文。”您对此有何解决方案?