如果源服务器为内容类型返回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错误。它返回源服务器的内容。如何修改发送给客户端的状态码,标题和正文?
如果用户传递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 视频可流式传输。