Changeset 1abb3d


Ignore:
Timestamp:
01/14/08 11:39:07 (4 years ago)
Author:
Tomash Brechko <tomash.brechko@…>
Branches:
master-v0.7, master-v0.6, next_upstream, upstream_count_limit
Children:
66a597
Parents:
a64318
git-author:
Tomash Brechko <tomash.brechko@…> (01/14/08 11:34:55)
git-committer:
Tomash Brechko <tomash.brechko@…> (01/14/08 11:39:07)
Message:

Add "http_502" and others to proxy_next_upstream/fastcgi_next_upstream.

Add support for "http_502", "http_503", "http_504" parameters in
"proxy_next_upstream" and "fastcgi_next_upstream" directives.

Patch by Maxim Dounin.

Location:
server/src/http
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • server/src/http/modules/ngx_http_fastcgi_module.c

    r0019fc r1abb3d  
    180180    { ngx_string("invalid_header"), NGX_HTTP_UPSTREAM_FT_INVALID_HEADER }, 
    181181    { ngx_string("http_500"), NGX_HTTP_UPSTREAM_FT_HTTP_500 }, 
     182    { ngx_string("http_502"), NGX_HTTP_UPSTREAM_FT_HTTP_502 }, 
    182183    { ngx_string("http_503"), NGX_HTTP_UPSTREAM_FT_HTTP_503 }, 
     184    { ngx_string("http_504"), NGX_HTTP_UPSTREAM_FT_HTTP_504 }, 
    183185    { ngx_string("http_404"), NGX_HTTP_UPSTREAM_FT_HTTP_404 }, 
    184186    { ngx_string("off"), NGX_HTTP_UPSTREAM_FT_OFF }, 
  • server/src/http/modules/ngx_http_proxy_module.c

    ra64318 r1abb3d  
    134134    { ngx_string("invalid_header"), NGX_HTTP_UPSTREAM_FT_INVALID_HEADER }, 
    135135    { ngx_string("http_500"), NGX_HTTP_UPSTREAM_FT_HTTP_500 }, 
     136    { ngx_string("http_502"), NGX_HTTP_UPSTREAM_FT_HTTP_502 }, 
    136137    { ngx_string("http_503"), NGX_HTTP_UPSTREAM_FT_HTTP_503 }, 
     138    { ngx_string("http_504"), NGX_HTTP_UPSTREAM_FT_HTTP_504 }, 
    137139    { ngx_string("http_404"), NGX_HTTP_UPSTREAM_FT_HTTP_404 }, 
    138140    { ngx_string("off"), NGX_HTTP_UPSTREAM_FT_OFF }, 
  • server/src/http/ngx_http_upstream.c

    r0019fc r1abb3d  
    10941094    } 
    10951095 
     1096    if (u->headers_in.status_n == NGX_HTTP_BAD_GATEWAY) { 
     1097 
     1098        if (u->peer.tries > 1 
     1099            && u->conf->next_upstream & NGX_HTTP_UPSTREAM_FT_HTTP_502) 
     1100        { 
     1101            ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_HTTP_502); 
     1102            return; 
     1103        } 
     1104    } 
     1105 
     1106    if (u->headers_in.status_n == NGX_HTTP_SERVICE_UNAVAILABLE) { 
     1107 
     1108        if (u->peer.tries > 1 
     1109            && u->conf->next_upstream & NGX_HTTP_UPSTREAM_FT_HTTP_503) 
     1110        { 
     1111            ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_HTTP_503); 
     1112            return; 
     1113        } 
     1114    } 
     1115 
     1116    if (u->headers_in.status_n == NGX_HTTP_GATEWAY_TIME_OUT) { 
     1117 
     1118        if (u->peer.tries > 1 
     1119            && u->conf->next_upstream & NGX_HTTP_UPSTREAM_FT_HTTP_504) 
     1120        { 
     1121            ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_HTTP_504); 
     1122            return; 
     1123        } 
     1124    } 
    10961125 
    10971126    if (u->headers_in.status_n >= NGX_HTTP_BAD_REQUEST 
     
    21732202        switch(ft_type) { 
    21742203 
     2204        case NGX_HTTP_UPSTREAM_FT_HTTP_504: 
    21752205        case NGX_HTTP_UPSTREAM_FT_TIMEOUT: 
    21762206            status = NGX_HTTP_GATEWAY_TIME_OUT; 
     
    21832213        case NGX_HTTP_UPSTREAM_FT_HTTP_404: 
    21842214            status = NGX_HTTP_NOT_FOUND; 
     2215            break; 
     2216 
     2217        case NGX_HTTP_UPSTREAM_FT_HTTP_502: 
     2218            status = NGX_HTTP_BAD_GATEWAY; 
     2219            break; 
     2220 
     2221        case NGX_HTTP_UPSTREAM_FT_HTTP_503: 
     2222            status = NGX_HTTP_SERVICE_UNAVAILABLE; 
    21852223            break; 
    21862224 
  • server/src/http/ngx_http_upstream.h

    r0019fc r1abb3d  
    2525#define NGX_HTTP_UPSTREAM_FT_BUSY_LOCK       0x00000080 
    2626#define NGX_HTTP_UPSTREAM_FT_MAX_WAITING     0x00000100 
     27#define NGX_HTTP_UPSTREAM_FT_HTTP_502        0x00000200 
     28#define NGX_HTTP_UPSTREAM_FT_HTTP_504        0x00000400 
    2729#define NGX_HTTP_UPSTREAM_FT_OFF             0x80000000 
    2830 
Note: See TracChangeset for help on using the changeset viewer.