on live upstreams while connecting to upstream,
upstream server temporarily disabled while reading response header from upstream
nginx 由于网络突然卡顿之类,连接不上gateway(这里根本没压力)报 504 会在502, 中间件有差不多11秒不能访问微服务
所以要配置max_fails,一般设置3-5次重试,另外可以配置keepalive ,设置长连接来减少三次握手
在 upstream 里面配置 和 keepalive 和max_fails
例子
upstream yyy.xxx.web{ server 36.10.xx.107:9001 max_fails=5 ; server 36.10.xx.108:9001 max_fails=5; keepalive 400; } server { ··· location /zzz/ { proxy_pass http://yyy.xxx.web; ··· } }
fail_timeout 默认是10s,
参考来源
线上nginx的一次“no live upstreams while connecting to upstream ”分析
压测引起的 nginx报错 502 no live upstreams while connecting to upstream解决
nginx的upstream异常
发现还是无效
跟朋友说起这事,他怀疑网络有问题,设置5秒ping一次,共1000次
ping 172.1.10.1 - i 5 -c 1000