diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2017-02-27 22:36:15 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2017-02-27 22:36:15 +0300 |
commit | 0f00d3365f88d4a1d11b81539c682c76f7eb5405 (patch) | |
tree | f17d2a2c62d6a5fce0e69ac85c97c5b15d614af1 /src | |
parent | 56757fd968a18675624f4d3432e459f2637fb8e7 (diff) | |
download | nginx-0f00d3365f88d4a1d11b81539c682c76f7eb5405.tar.gz nginx-0f00d3365f88d4a1d11b81539c682c76f7eb5405.zip |
Fixed background update with "if".
Cloned subrequests should inherit r->content_handler. This way they will
be able to use the same location configuration as the original request
if there are "if" directives in the configuration.
Without r->content_handler inherited, the following configuration tries
to access a static file in the update request:
location / {
set $true 1;
if ($true) {
# nothing
}
proxy_pass http://backend;
proxy_cache one;
proxy_cache_use_stale updating;
proxy_cache_background_update on;
}
See http://mailman.nginx.org/pipermail/nginx/2017-February/053019.html for
initial report.
Diffstat (limited to 'src')
-rw-r--r-- | src/http/ngx_http_core_module.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index 9e128908a..6e31a2ade 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -2571,6 +2571,7 @@ ngx_http_subrequest(ngx_http_request_t *r, sr->method_name = r->method_name; sr->loc_conf = r->loc_conf; sr->valid_location = r->valid_location; + sr->content_handler = r->content_handler; sr->phase_handler = r->phase_handler; sr->write_event_handler = ngx_http_core_run_phases; |