proxy_next_upstream default

Valentin V. Bartenev vbart at nginx.com
Wed Dec 23 12:02:42 UTC 2015


On Tuesday 22 December 2015 16:47:33 Tolga Ceylan wrote:
> Hi All,
> 
> According to documentation, default for proxy_next_upstream flag is
> error + timeout + invalid_header
> even if these are not specified:
> 
> http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
> 
[..]

By your link:

  Default: proxy_next_upstream error timeout;


> However, looking at the ngx_http_proxy_module.c, I only see timeout/error
> as merged/set:
> 
> https://github.com/nginx/nginx/blob/master/src/http/modules/ngx_http_proxy_module.c#L3065
> 
> This means documentation is incorrect, so if "invalid_header" is not
> specified, nginx
> will not consider such cases as "unsuccessful" attempts, right?
> 
[..]

The documentation is correct, it says: "error, timeout and invalid_header
are always considered unsuccessful attempts, even if they are not specified
in the directive".

This is not about the default value, this is about nginx behavior.
See the relevant part of the code:

http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_upstream.c#l2141
http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_upstream.c#l2152
http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_upstream.c#l3811

(note that the value of the directive isn't checked in this code path)

  wbr, Valentin V. Bartenev



More information about the nginx-devel mailing list