reverse proxy + caching seems to break range requests

Vinay Y S vinay.ys at
Tue Apr 6 00:43:09 MSD 2010

On Mon, Apr 5, 2010 at 2:46 AM, Maxim Dounin <mdounin at> wrote:

> Hello!
> On Sun, Apr 04, 2010 at 11:23:32PM +0530, Vinay Y S wrote:
> > Hi,
> > I've configured nginx to run as a http reverse proxy with caching turned
> on
> > for a location. The backend server supports range headers and responds
> > correctly with 206 partial content response. This is needed to support
> > pause/resume functionality in the browsers and download managers and also
> to
> > support download accelerator clients.
> >
> > But with nginx reverse proxy with caching enabled, it seems to not work.
> > nginx returns full response even when range header is present. Is this a
> > known issue?
> > Please help fix this.
> nginx removes Range header (as well as several other headers)
> before passing request to upstream to make sure full response will
> be cached and other requests for the same uri will be served
> correctly.
>  It's fine for it send full request to the upstream so that it can cache
the full response. Actually range requests and 206 responses work correctly
when caching is not enabled. So, even when caching is enabled, it can still
respond correctly to the client by obeying the range header, isn't it? Is
this not implemented consciously for some reason?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list