Issue with If-Range header and X-Accel-Redirect requests with upstream Last-Modified header

Leigh Dyer lsd at
Tue Sep 6 06:52:41 UTC 2011

On 6/09/11 12:45 PM, Leigh Dyer wrote:
> Hi,
> I have nginx 1.0.5 set up as a proxy in front of a Ruby/Ramaze
> application, using X-Accel-Redirect to efficiently handle sending large
> binary files by handing those transfers over to nginx. Range requests
> against this setup work just fine, but "If-Range" headers from the
> client are ignored -- the server always returns the requested range,
> even when the If-Range date doesn't match the file's Last-Modified date.

Hi again,

I spent some time looking in to this and created a patch that seems to 
fix the problem for me. The issue was in "ngx_http_set_last_modified" in 
http/modules/ngx_http_headers_filter_module.c -- last_modified_time gets 
set to -1 and is then never updated with the new value.

I have no idea how correct this patch is, so I'd greatly appreciate it 
if someone could review this for me.


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: nginx-1.0.5-ifrange-add_header-lastmodified-fix.patch
URL: <>

More information about the nginx mailing list