Nginx上传文件全部缓存解决方案

(编辑:jimmy 日期: 2026/1/17 浏览:2)

下面通过文字说明给大家详解Nginx上传文件全部缓存解决方案。

因为应用服务器(Jetty)里面实现了上传时写了进度条。经过缓存。就没法读取到进度了。此外,在Nginx处缓存文件,也降低了传输效率。

nginx采用1.5.6。

后端采用nodejs+formidable的方式接受上传文件,本问题的对应与采用什么样的后端没太大关系,这里只是交代一下。

问题:

在前端页面上将文件上传,nginx没有将每一块收到的文件数据块转发给后端,而是全部缓存了下来,全部收取完成后再一块一块的转发给后端,显而易见的是上传时间就被延长了许多。

涉及问题的模块:ngx_http_core_module

对应方法:

将nginx的版本升级到1.7.11以上。

添加指令:proxy_request_buffering off

指令说明如下图:

Nginx上传文件全部缓存解决方案

参考:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering

重启nginx,即可解决。

通过此方案解决了好多Nginx上传文件全部缓存的问题,解决方案也不止本文一个方法,还有其他的,欢迎大家多多分享自己的解决方案。

一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。