limit_req truncating responses
Maxim Dounin
mdounin at mdounin.ru
Mon Sep 28 02:21:54 MSD 2009
Hello!
On Sun, Sep 27, 2009 at 05:59:07PM -0400, brianf wrote:
> Hello,
> I'm seeing some undocumented behavior when using limit_req and limit_req_zone. It seems that connections that should be delayed are actually being truncated in the middle. I see this using multiple clients both as errors in the clients and by inspecting the actual file. I found a reference to another user seeing this here: http://www.ruby-forum.com/topic/173021 but I don't see anything there to help stop it.
>
> I have configured my zone for now exactly as the docs:
> limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
>
> and my location as:
> limit_req zone=one burst=5000;
>
> I run a series of file transfers and it cuts off at the same truncated file regardless if the burst is 5, 50, or 5000
>
> I'm running .7.62 on RHEL.
>
> Any suggestions on how to avoid the truncated files, and why the burst level seems to not have any effect?
This was fixed in 0.8.5:
*) Bugfix: in ngx_http_limit_req_module.
This fix wasn't yet merged into stable branch. If you have to use
stable for some reason - workaround is to use
limit_req ... nodelay;
or apply relevant patch manually. It can be found here:
http://mdounin.ru/hg/nginx-vendor-current/diff/e8b686f230a8/src/http/modules/ngx_http_limit_req_module.c
http://mdounin.ru/hg/nginx-vendor-current/raw-diff/e8b686f230a8/src/http/modules/ngx_http_limit_req_module.c
Maxim Dounin
More information about the nginx
mailing list