diff options
Diffstat (limited to 'src/http/modules/ngx_http_proxy_module.c')
-rw-r--r-- | src/http/modules/ngx_http_proxy_module.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c index 8288df1c4..e8b9c4ee9 100644 --- a/src/http/modules/ngx_http_proxy_module.c +++ b/src/http/modules/ngx_http_proxy_module.c @@ -424,10 +424,10 @@ ngx_http_proxy_create_request(ngx_http_request_t *r) escape = 0; - loc_len = r->valid_location ? u->conf->location->len : 1; + loc_len = r->valid_location ? u->conf->location->len - 1 : 0; if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) { - len += r->unparsed_uri.len - 1; + len += r->unparsed_uri.len; } else { if (r->quoted_uri) { @@ -508,11 +508,11 @@ ngx_http_proxy_create_request(ngx_http_request_t *r) r->method_name.len + 1); } - b->last = ngx_cpymem(b->last, u->conf->uri.data, u->conf->uri.len); + b->last = ngx_cpymem(b->last, u->conf->uri.data, u->conf->uri.len - 1); if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) { - b->last = ngx_cpymem(b->last, r->unparsed_uri.data + 1, - r->unparsed_uri.len - 1); + b->last = ngx_cpymem(b->last, r->unparsed_uri.data, + r->unparsed_uri.len); } else { if (escape) { ngx_escape_uri(b->last, r->uri.data + loc_len, |