Nginx-Upstream-proxy next upstream-惊天大Bug

Y
  • 31 May '12
upstream backend {
     server flvdownload.ppserver.org.cn:80 max_fails=0;
     server flvstorage.ppserver.org.cn:80 backup;
}

server{
  ....
  location / {
    proxy_next_upstream error timeout invalid_header http_500 http_502
http_503 http_504;
    proxy_pass http://backend;
  }
}

#----------------------------------------------------------------------------------------

?upstream?backup???
flvstorage.ppserver.org.cn??????2?IP????flvdownload.ppserver.org.cn????????????proxy_pass?backup?
But??upstream?backup???
flvstorage.ppserver.org.cn??????1?IP???backup?????nginx???????flvdownload.ppserver.org.cn??

??????????????Bug??

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,227074,227074#msg-227074
M
  • 31 May '12
Hello!

On Thu, May 31, 2012 at 10:55:11AM -0400, youzhengchuan wrote:

> upstream backend {
>      server flvdownload.ppserver.org.cn:80 max_fails=0;
>      server flvstorage.ppserver.org.cn:80 backup;
> }
> 
> server{
>   ....
>   location / {
>     proxy_next_upstream error timeout invalid_header http_500 http_502
> http_503 http_504;
>     proxy_pass http://backend;
>   }
> }
> 
> #----------------------------------------------------------------------------------------
> 
> ?upstream?backup???
> flvstorage.ppserver.org.cn??????2?IP????flvdownload.ppserver.org.cn????????????proxy_pass?backup?
> But??upstream?backup???
> flvstorage.ppserver.org.cn??????1?IP???backup?????nginx???????flvdownload.ppserver.org.cn??
> 
> ??????????????Bug??

As far as I understand, you are hitting another variant of this bug:

http://trac.nginx.org/nginx/ticket/47

It usually manifests itself with "proxy_next_upstream http_404", 
but max_fails=0 does essentially the same.  The bug is fixed in 
1.3.0.

Maxim Dounin

p.s. This is English mailing list, please don't write in Chinese 
here.  Thank you.