Nginx is too strict about accept-ranges

Hi

I am using nginx to proxy/cache requests from different origin servers,
some
of which I don’t have access to (can’t change their behaviour). Recently
I
stumbled upon a problem where nginx wouldn’t serve partial objects (even
after they are cached) although upstream server would happily do that.
It
happens because upstream server doesn’t serve “Accept-Ranges: bytes”
header.
RFC7233 states that use of this header is optional so nginx might be
relying
on it a bit too heavily.

Is there a configuration knob to make nginx ignore absence of this
header
(or force nginx to allow ranges)? Or a patch available to apply? If not

are there any plans to add one?

Thanks,
Kuba

Posted at Nginx Forum:

Hello!

On Mon, Aug 25, 2014 at 08:23:28AM -0400, jakubp wrote:

Is there a configuration knob to make nginx ignore absence of this header
(or force nginx to allow ranges)? Or a patch available to apply? If not -
are there any plans to add one?

Trivial workaround is to add the header with an additional proxy
layer.


Maxim D.
http://nginx.org/