reverse proxy + caching seems to break range requests
Maxim Dounin
mdounin at mdounin.ru
Mon Apr 5 01:16:44 MSD 2010
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.
You may change this by adding appropriate headers into
proxy_cache_key and pass Range header via proxy_set_header
directive. E.g.
proxy_cache_key "$scheme$proxy_host$request_uri $http_range";
proxy_set_header Range $http_range;
See here for more details:
http://wiki.nginx.org/NginxHttpProxyModule#proxy_cache_key
http://wiki.nginx.org/NginxHttpProxyModule#proxy_set_header
Maxim Dounin
More information about the nginx
mailing list