May 09, 2016 08:39AM
We are facing this weird behavior wherein if a range request with Accept-Encoding:“gzip,deflate" is called for a url having .pdf as part of path, nginx would throw 416 even if the range is well within overall size of source file

Also this happens for Range request "Range: bytes=20-" and above while same would work if its less that 20 bytes as start of range eg "Range: bytes=19-"

Nginx Version : 1.8.0

Sample curl

curl -v --user "xxx" -H "Host:yyy.com" --compressed -H "Range: bytes=20-" https://yyy.com/api/v1/fs-content/Shared/0test/latest.pdf.test.txt

Response :
> GET /api/v1/fs-content/Shared/0test/latest.pdf.test.txt HTTP/1.1
> User-Agent: curl/7.35.0
> Accept: */*
> Accept-Encoding: deflate, gzip
> Range: bytes=20-
>
< HTTP/1.1 416 Requested Range Not Satisfiable
< Date: Mon, 09 May 2016 12:34:03 GMT
< Content-Type: text/html; charset=iso-8859-1
< Transfer-Encoding: chunked
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Strict-Transport-Security: max-age=31536000
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>200 OK</title>
</head><body>
<h1>OK</h1>
<p>None of the range-specifier values in the Range
request-header field overlap the current extent
of the selected resource.</p>
</body></html>


Sample access log

172.26.7.15 - [08/May/2016:23:03:20 -0700] "GET /public-api/v1/fs-content-download/Shared/0test/latest.pdf.test.txt HTTP/1.1" 416 466 "qaaa.egnyte.com" "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "deflate, gzip" "D0536872:4496_0A19800C:01BB_--_3B70C9" "-:bytes=20-" "" "-" "text/html; charset=iso-8859-1" "" "" "" "" "" "" "0.023" "0.023" "BYPASS"


Note :
Earlier we had an issue with If-Range header value format to match with Etag value and had to add a patch mentioned here
http://permalink.gmane.org/gmane.comp.web.nginx.devel/2579


Kindly suggest.
Subject Author Posted

Range request with Accept-Encoding:“gzip,deflate" for *.pdf.* file-name pattern returns 416

yogeshorai May 09, 2016 08:39AM

Re: Range request with Accept-Encoding:“gzip,deflate" for *.pdf.* file-name pattern returns 416

Maxim Dounin May 10, 2016 10:42AM

Re: Range request with Accept-Encoding:“gzip,deflate" for *.pdf.* file-name pattern returns 416

yogeshorai May 19, 2016 07:44AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 302
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready