mirror of
https://github.com/nginx/nginx.git
synced 2025-07-29 09:06:15 +08:00
Upstream: keep $upstream_http_x_accel_redirect intact.
When processing the X-Accel-Redirect header, the value of the $upstream_http_x_accel_redirect variable was also overwritten.
This commit is contained in:
parent
bf800822df
commit
3f36c684a1
@ -1994,7 +1994,7 @@ ngx_http_upstream_test_connect(ngx_connection_t *c)
|
|||||||
static ngx_int_t
|
static ngx_int_t
|
||||||
ngx_http_upstream_process_headers(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
ngx_http_upstream_process_headers(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
||||||
{
|
{
|
||||||
ngx_str_t *uri, args;
|
ngx_str_t uri, args;
|
||||||
ngx_uint_t i, flags;
|
ngx_uint_t i, flags;
|
||||||
ngx_list_part_t *part;
|
ngx_list_part_t *part;
|
||||||
ngx_table_elt_t *h;
|
ngx_table_elt_t *h;
|
||||||
@ -2035,11 +2035,11 @@ ngx_http_upstream_process_headers(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uri = &u->headers_in.x_accel_redirect->value;
|
uri = u->headers_in.x_accel_redirect->value;
|
||||||
ngx_str_null(&args);
|
ngx_str_null(&args);
|
||||||
flags = NGX_HTTP_LOG_UNSAFE;
|
flags = NGX_HTTP_LOG_UNSAFE;
|
||||||
|
|
||||||
if (ngx_http_parse_unsafe_uri(r, uri, &args, &flags) != NGX_OK) {
|
if (ngx_http_parse_unsafe_uri(r, &uri, &args, &flags) != NGX_OK) {
|
||||||
ngx_http_finalize_request(r, NGX_HTTP_NOT_FOUND);
|
ngx_http_finalize_request(r, NGX_HTTP_NOT_FOUND);
|
||||||
return NGX_DONE;
|
return NGX_DONE;
|
||||||
}
|
}
|
||||||
@ -2048,7 +2048,7 @@ ngx_http_upstream_process_headers(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
|||||||
r->method = NGX_HTTP_GET;
|
r->method = NGX_HTTP_GET;
|
||||||
}
|
}
|
||||||
|
|
||||||
ngx_http_internal_redirect(r, uri, &args);
|
ngx_http_internal_redirect(r, &uri, &args);
|
||||||
ngx_http_finalize_request(r, NGX_DONE);
|
ngx_http_finalize_request(r, NGX_DONE);
|
||||||
return NGX_DONE;
|
return NGX_DONE;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user