mirror of
https://github.com/nginx/nginx.git
synced 2024-12-20 06:03:31 -06:00
Upstream: support named location for X-Accel-Redirect.
This commit is contained in:
parent
a9d9b09103
commit
d9f5baa0b8
@ -2218,19 +2218,26 @@ ngx_http_upstream_process_headers(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
||||
}
|
||||
|
||||
uri = u->headers_in.x_accel_redirect->value;
|
||||
ngx_str_null(&args);
|
||||
flags = NGX_HTTP_LOG_UNSAFE;
|
||||
|
||||
if (ngx_http_parse_unsafe_uri(r, &uri, &args, &flags) != NGX_OK) {
|
||||
ngx_http_finalize_request(r, NGX_HTTP_NOT_FOUND);
|
||||
return NGX_DONE;
|
||||
if (uri.data[0] == '@') {
|
||||
ngx_http_named_location(r, &uri);
|
||||
|
||||
} else {
|
||||
ngx_str_null(&args);
|
||||
flags = NGX_HTTP_LOG_UNSAFE;
|
||||
|
||||
if (ngx_http_parse_unsafe_uri(r, &uri, &args, &flags) != NGX_OK) {
|
||||
ngx_http_finalize_request(r, NGX_HTTP_NOT_FOUND);
|
||||
return NGX_DONE;
|
||||
}
|
||||
|
||||
if (r->method != NGX_HTTP_HEAD) {
|
||||
r->method = NGX_HTTP_GET;
|
||||
}
|
||||
|
||||
ngx_http_internal_redirect(r, &uri, &args);
|
||||
}
|
||||
|
||||
if (r->method != NGX_HTTP_HEAD) {
|
||||
r->method = NGX_HTTP_GET;
|
||||
}
|
||||
|
||||
ngx_http_internal_redirect(r, &uri, &args);
|
||||
ngx_http_finalize_request(r, NGX_DONE);
|
||||
return NGX_DONE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user