mirror of
https://github.com/nginx/nginx.git
synced 2024-12-20 06:03:31 -06:00
Proxy: fixed incorrect URI change due to if (ticket #86).
In the following configuration request was sent to a backend without URI changed to '/' due to if: location /proxy-pass-uri { proxy_pass http://127.0.0.1:8080/; set $true 1; if ($true) { # nothing } } Fix is to inherit conf->location from the location where proxy_pass was configured, much like it's done with conf->vars.
This commit is contained in:
parent
8d7c6491fe
commit
827b2511e6
@ -2997,6 +2997,7 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
&& conf->upstream.upstream == NULL && conf->proxy_lengths == NULL)
|
||||
{
|
||||
conf->upstream.upstream = prev->upstream.upstream;
|
||||
conf->location = prev->location;
|
||||
conf->vars = prev->vars;
|
||||
|
||||
conf->proxy_lengths = prev->proxy_lengths;
|
||||
@ -3011,7 +3012,6 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
&& (conf->upstream.upstream || conf->proxy_lengths))
|
||||
{
|
||||
clcf->handler = ngx_http_proxy_handler;
|
||||
conf->location = prev->location;
|
||||
}
|
||||
|
||||
if (conf->body_source.data == NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user