[nginx] Upstream: keep $upstream_http_x_accel_redirect intact.

Ruslan Ermilov ru at nginx.com
Mon Dec 23 14:12:42 UTC 2013


details:   http://hg.nginx.org/nginx/rev/6d357b2a9d6e
branches:  
changeset: 5489:6d357b2a9d6e
user:      Ruslan Ermilov <ru at nginx.com>
date:      Mon Dec 23 18:11:46 2013 +0400
description:
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.

diffstat:

 src/http/ngx_http_upstream.c |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (35 lines):

diff -r c51b9491b0bd -r 6d357b2a9d6e src/http/ngx_http_upstream.c
--- a/src/http/ngx_http_upstream.c	Thu Dec 19 13:43:18 2013 +0400
+++ b/src/http/ngx_http_upstream.c	Mon Dec 23 18:11:46 2013 +0400
@@ -1994,7 +1994,7 @@ ngx_http_upstream_test_connect(ngx_conne
 static ngx_int_t
 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_list_part_t                *part;
     ngx_table_elt_t                *h;
@@ -2035,11 +2035,11 @@ ngx_http_upstream_process_headers(ngx_ht
             }
         }
 
-        uri = &u->headers_in.x_accel_redirect->value;
+        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) {
+        if (ngx_http_parse_unsafe_uri(r, &uri, &args, &flags) != NGX_OK) {
             ngx_http_finalize_request(r, NGX_HTTP_NOT_FOUND);
             return NGX_DONE;
         }
@@ -2048,7 +2048,7 @@ ngx_http_upstream_process_headers(ngx_ht
             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);
         return NGX_DONE;
     }



More information about the nginx-devel mailing list