Nginx is not accepting range of bytes
22,468
Solution 1
I was able to get range requests working after adding the following line to my nginx site config
proxy_force_ranges on;
You can read more about it here
Solution 2
I have found it - its the option
max_ranges
It was max_ranges 0 at the bottom of the configuration.
Author by
kmitov
Updated on December 17, 2020Comments
-
kmitov over 3 years
I am using nginx to serve videos from the file system. I would like to enable range request.
Currently this is the result returned for my file
curl -I fileurl HTTP/1.1 200 OK Server: nginx Date: Sat, 29 Mar 2014 06:41:41 GMT Content-Type: video/mp4 Content-Length: 15603963 Last-Modified: Sat, 04 Jan 2014 15:02:26 GMT Connection: keep-alive Keep-Alive: timeout=300 Accept-Ranges: bytes
But if I send curl --header "Range: bytes=0-50" fileurl
the whole file is downloaded.
This is the server in nginx config:
server { listen 80; server_name myserver; error_log logs/myserver.error.log; access_log logs/myserver.access.log; root /srv/myserver; #add_header Accept-Ranges; add_header Accept-Ranges bytes; }
Do I have to enable anything else? How could I allow range requests for the files?
-
Alexis Wilke about 5 yearsOnly by default
max_ranges
is not supposed to be zero and you did not show that line in your question! In my case, I havemax_ranges 100;
and it still isn't doing it right. -
Marc about 4 yearsMan I love you, I've been struggling to get range requests working on my nginx for hours, tried everything, only your hint worked.. Thanks a million.