Nginx不接受字节范围

the*_*man 5 http nginx video-streaming http-headers html5-video

我正在使用nginx从文件系统提供视频。我想启用范围请求。

目前,这是我文件的返回结果

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
Run Code Online (Sandbox Code Playgroud)

但是,如果我发送curl --header“ Range:bytes = 0-50” fileurl

整个文件已下载。

这是nginx配置中的服务器:

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;
    }
Run Code Online (Sandbox Code Playgroud)

我还需要启用其他功能吗?如何允许文件的范围请求?

小智 8

将以下行添加到我的 nginx 站点配置后,我能够使范围请求工作

    proxy_force_ranges on;
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多关于它的信息


Chi*_*g64 -3

.m4v 文件的内容类型是video/x-m4v,我认为不适video/mp4用于这些文件。