【问题标题】:nginx proxy pass content rangenginx proxy pass 内容范围
【发布时间】:2016-10-27 01:27:24
【问题描述】:

如果用户传递了 Range 标头,我如何让 nginx 发送源服务器?

目前我正在尝试这个,但没有成功:

server {
    location / {
        if ($http_range) {
            set $var_arg_range $http_range;
        }
        if ($arg_range) {
            set $var_arg_range "bytes=$arg_range";
        }
        proxy_set_header Range $var_arg_range;
        proxy_pass https://content-na.drive.amazonaws.com;
        proxy_set_header If-Range "";
        proxy_set_header Host content-na.drive.amazonaws.com;
        proxy_set_header Range $var_arg_range;
        proxy_set_header Accept-Encoding "";
    }
}

我需要使 html5 视频可流式传输。

【问题讨论】:

    标签: nginx http-content-range


    【解决方案1】:

    终于找到了。我需要使用 proxy_pass_request_headers 将标头传递给源服务器。并且不要忘记传递您的自定义 Referer 标头:

    server {
                postpone_output 0;
                resolver 8.8.8.8;
                proxy_set_header Referer        "https://content-na.drive.amazonaws.com";
                proxy_set_header Host           "content-na.drive.amazonaws.com";
                proxy_pass_request_headers      on;
                proxy_ssl_verify                off;
                proxy_method                    "GET";
                proxy_pass                      https://content-na.drive.amazonaws.com;
    }
    

    【讨论】:

    • 不确定该指令是否将其修复为 proxy_pass_request_headers 的默认值是 on docs
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    相关资源
    最近更新 更多