小编Ayx*_*nlı的帖子

nginx proxy_pass检查上游内容类型

如果源服务器为内容类型返回application / vnd.error + json,我想给出一个简单的403禁止错误。这是我的代码:

server {
root /var/www/;
recursive_error_pages on;
        location / {
            proxy_pass                      "http://source";
            proxy_set_header Host           "source";
            proxy_pass_request_headers      on;
            proxy_intercept_errors          on;
            if ($upstream_http_content_type = "application/vnd.error+json" ) {
              return 403;
            }
        }       
}
Run Code Online (Sandbox Code Playgroud)

但它不会返回我403错误。它返回源服务器的内容。如何修改发送给客户端的状态码,标题和正文?

nginx proxypass http-headers response-headers

5
推荐指数
0
解决办法
886
查看次数

nginx代理传递内容范围

如果用户传递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 "";
    }
}
Run Code Online (Sandbox Code Playgroud)

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

nginx http-content-range

2
推荐指数
1
解决办法
5240
查看次数