问题: 默认情况下,nginx会自动failover,即: 其中一个上游服务器处理失败时会自动将请求转发到下一个上游服务器;有些情况下是不期望如此的;
但是这里没有区分上游服务器的失败原因,如果是连接失败,则自动fail_over 基本是没问题的;如果是已经发送了数据然后等待响应超时失败,可能并不想fail_over
避免failover的办法:
- 对于fastcgi: fastcgi_next_upstream off
- 对于proxy: proxy_next_upstream off
如果把 proxy_next_upstream 写到fastcgi_pass 中是不会有效果的,虽然不会报错
可能在应用层来避免重复处理才是正道