how proxy_next_upstream control retry times

李文伟 wenwei.li at dianping.com
Wed Feb 6 03:23:24 UTC 2013


hi:
now i am looking for a 50x retry method, config like this:



   upstream jboss8080 {
    server                        10.1.2.164:8080 weight=1 max_fails=1
fail_timeout=2s;
    server                        10.1.2.174:8080 weight=1 max_fails=1
fail_timeout=2s;
    server                        10.1.2.209:8080 weight=1 max_fails=1
fail_timeout=2s;
    server                        10.1.7.136:8080 weight=1 max_fails=1
fail_timeout=2s;
    server                        10.1.7.137:8080 weight=1 max_fails=1
fail_timeout=2s;
    server                        10.1.7.138:8080 weight=1 max_fails=1
fail_timeout=2s;
  }

  server {
........
    location / {
proxy_next_upstream http_500 http_502 http_503 http_504 timeout error
invalid_header;
.......
      if ( !-f $request_filename ) {
proxy_pass                http://jboss8080;
break;
      }
    }

    error_page                    500 502 503 504  /50x.html;
      location = /50x.html {
      root                        html;
    }
  }


then how proxy_next_upstream control retry times.


by the way, i used error_page, config like this:


upstream backend  {
  server localhost:8080 weight=5;
}

upstream backup1  {
  server localhost:8081 weight=5;
}

upstream backup2  {
  server localhost:8082 weight=5;
}

    server {
listen       80;
server_name  localhost;
proxy_intercept_errors on;

location / {
    error_page  502 @backup1;
    proxy_pass  http://backend;
}

location @backup1 {
    error_page  502 @backup2;
    proxy_pass http://backup1;
}

location @backup2 {
    proxy_pass http://backup2;
}
     }

@backup1works, but @backup2 doesn't.
how can i let backup2 works.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130206/7ba5b1c1/attachment.html>


More information about the nginx mailing list