how proxy_next_upstream control retry times
李文伟
wenwei.li at dianping.com
Thu Feb 7 03:07:34 UTC 2013
thank you very much.
with *recursive_error_pages* on
it works.
2013/2/6 Maxim Dounin <mdounin at mdounin.ru>
> Hello!
>
> On Wed, Feb 06, 2013 at 11:23:24AM +0800, 李文伟 wrote:
>
> > 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.
>
> Quote from http://nginx.org/r/upstream:
>
> : If an error occurs when communicating with the server, a request
> : will be passed to the next server, and so on until all of the
> : functioning servers will be tried. If a successful response could
> : not be obtained from any of the servers, the client will be
> : returned the result of contacting the last server.
>
> That is, errors are handled as they appear, and there is no
> retry-specific controls except proxy_next_upstream itself. In a
> worst case all servers will be tried.
>
> > 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.
>
> http://nginx.org/r/recursive_error_pages
>
> --
> Maxim Dounin
> http://nginx.com/support.html
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
--
――――
Regards,
李文伟
software engineer
大众点评网-技术部-团购开发组
Tel:(021)53559777-1700
Mobile:15921585268
QQ:363603327
MSN:muzi666boy at hotmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130207/77949da6/attachment-0001.html>
More information about the nginx
mailing list