diff src/http/modules/ngx_http_access_module.c @ 5938:cd2abf7e7740

Upstream: fixed unexpected inheritance into limit_except blocks. The proxy_pass directive and other handlers are not expected to be inherited into nested locations, but there is a special code to inherit upstream handlers into limit_except blocks, as well as a configuration into if{} blocks. This caused incorrect behaviour in configurations with nested locations and limit_except blocks, like this: location / { proxy_pass http://u; location /inner/ { # no proxy_pass here limit_except GET { # nothing } } } In such a configuration the limit_except block inside "location /inner/" unexpectedly used proxy_pass defined in "location /", while it shouldn't. Fix is to avoid inheritance of conf->upstream.upstream (and conf->proxy_lengths) into locations which don't have noname flag.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 09 Dec 2014 18:22:31 +0300
parents 06c227e9edd0
children 72188d1bcab5
line wrap: on
line diff