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:
Hello!
On Thu, May 31, 2012 at 10:55:11AM -0400, youzhengchuan wrote:
proxy_pass http://backend;
屡试不爽,就是不知道这是一个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 D.
p.s. This is English mailing list, please don’t write in Chinese
here. Thank you.
Do something like this:
you need to define a resolver:
resolver 8.8.8.8; # or your dns serevrs
location / {
set $myupstream flvdownload.ppserver.org.cn ;
proxy_pass http://$myupstream ;
}
if you need it to use multiple ip addresses.
Accordance with the above configuration, When the domain
“flvstorage.ppserver.org.cn ,” nginx nslookup results is just a one IP
address, this backend upstream can’t be used.
my apology for my bad english.
Posted at Nginx Forum:
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{ &g