【问题标题】:Troubles with partial content nginx部分内容nginx的问题
【发布时间】:2016-11-21 06:43:31
【问题描述】:

我从服务器获取一些视频文件并在这样的模板中使用:

<div class="player-block" ng-if='hasSubscription(episode_detail.season)'>
                                    <video ng-if='episode_detail' id="serial-video" class="video-js" controls preload="none" height="450" data-setup="{}">
                                        <source ng-src="{{episode_detail.video_mp}}" type='video/mp4'>
                                        <source ng-src="{{episode_detail.video}}" type='video/webm'>
                                        <p class="vjs-no-js">
                                            To view this video please enable JavaScript, and consider upgrading to a web browser that
                                            <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
                                        </p>
                                    </video>
                                </div>

我的 nginx 配置:

这就是我的意思,尝试在谷歌浏览器中倒带视频: http://185.143.173.143:8000/media/SPONGEBOB_TRAP_REMIX_KRUSTY_KRAB_Vine_Remix.mp4

结果在chrome rewind中不起作用,我读到需要配置服务器才能返回部分内容。我该如何配置nginx?

【问题讨论】:

    标签: django google-chrome nginx gunicorn nginx-location


    【解决方案1】:

    您将max_ranges 设置为 0,这将禁用 nginx 中的 Range 请求处理。最简单的做法是删除 max_ranges 0 行。但是,如果源 (185.143.173.143) 不支持 Range 请求,这仍然可能不起作用。

    为了测试原点 (185.143.173.143) 本身是否支持范围请求,您需要在 nginx 机器上使用 curl:

    curl -I -r 0-100 http://185.143.173.143/path/to/video   
    

    如果Range 请求成功,状态将类似于206 Partial Content,并且会有一个Content-Range 标头指示请求的范围。在这种情况下,Content-Length 应该是 101。如果您得到 200,那么您的实际来源本身可能不支持范围请求,您将不得不在那里调试配置。

    【讨论】:

    • 请告诉我如何解决它
    • 我以为我做到了 :) 尝试从配置中删除 max_ranges 0 行。但是,如果原点本身不支持范围,那么您可以轻松做到的事情并不多
    • 删除了最大范围,没有任何改变
    • HTTP/1.1 200 OK 服务器:gunicorn/19.4.5 日期:2016 年 7 月 19 日星期二 19:54:58 GMT 连接:关闭 X-Frame-Options:SAMEORIGIN Content-Length:5366667 Content-类型:视频/mp4 最后修改时间:2016 年 7 月 17 日星期日 19:29:44 GMT “我的输出”
    • 但如果我使用 curl -I -r 0-100 185.143.173.143 我得到:HTTP/1.1 206 部分内容服务器:nginx/1.10.0 (Ubuntu) 日期:2016 年 7 月 19 日星期二 20 :14:04 GMT Content-Type: text/html Content-Length: 101 Last-Modified: Fri, 08 Jul 2016 12:46:47 GMT Connection: keep-alive ETag: "577fa0b7-264" Content-Range: bytes 0 -100/612
    猜你喜欢
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2016-11-14
    • 2021-02-19
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多