file-upload – 在nginx中禁用请求缓冲

前端之家收集整理的这篇文章主要介绍了file-upload – 在nginx中禁用请求缓冲前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

似乎Nginx在将请求传递给updstream服务器之前缓冲请求,而对于大多数情况来说它对我来说是非常糟糕的:)

我的情况是这样的:

我有Nginx作为前端服务器来代理3个不同的服务器:

> apache与典型的PHP应用程序
> shaveet(一个开源彗星服务器)由我用python和gevent构建
>使用gevent再次构建文件上传服务器,代理上传到rackspace云文件
同时接受来自客户端的上传.

#3是问题,现在我所拥有的是Nginx缓冲所有请求然后将其发送到文件上传服务器,后者又将其发送到云文件而不是在获取它时发送每个块(那些使得上传速度更快我可以将6-7MB / s推送到cloudfiles).

我使用Nginx的原因是有3个不同的域和一个IP如果我不能这样做我将不得不将fileupload服务器移动到另一台机器.

最佳答案
根据Gunicorn,他们建议您使用Nginx实际缓冲客户端并防止slowloris攻击.所以这种缓冲可能是一件好事.但是,我确实在我提供的关于删除代理缓冲区的链接上看到了一个选项,不清楚它是否在Nginx内,但它看起来好像是.当然,这是假设你有Gunicorn跑,你没有.也许它对你有用.

编辑:我做了一些研究,Nginx中的缓冲区禁用用于出站长轮询数据. Nginx在其wiki站点上声明入站请求必须在上行发送之前进行缓冲.

“Note that when using the HTTP Proxy Module (or even when using FastCGI),the entire client request will be buffered in Nginx before being passed on to the backend proxied servers. As a result,upload progress meters will not function correctly if they work by measuring the data received by the backend servers.”

@H_404_30@

猜你在找的Nginx相关文章