failover to the next upstream server if one of the servers is slow
ebondar
nginx-forum at forum.nginx.org
Fri Jun 22 22:50:24 UTC 2018
Hello,
i'm trying to setup a failover configuration between two upstream servers,
all works as expected. But i want to cover the case if one of the upstream
servers is became a very slow and i want to remove this servers from
rotation and move all requests to the second upstream server.
upstream rubyfe {
server qa-vmf01.int:443;
server qa-vmf02.int:443;
}
server {
listen 443 http2;
server_name qa-www.example.com;
gzip on;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
proxy_buffering on;
location / {
proxy_read_timeout 1;
proxy_pass https://rubyfe;
proxy_next_upstream error timeout invalid_header
http_500 http_502 http_503 http_504;
proxy_next_upstream_timeout 3;
}
when i tried to load the first server
#stress --cpu 80 --io 8 --vm 4 --vm-bytes 300M --timeout 180s
# wrk -t2 -c20 -d30s https://qa-www.example.com
in log files i catched request from "wrk"
192.168.0.1 - - [22/Jun/2018:17:59:10 -0400] "GET / HTTP/1.1" 200 50393 "-"
"-" "-" "192.168.0.2:443, 192.168.0.3:443 [ 1.001, 0.814 ]" "text/html;
charset=utf-8" "-" "582bd020659715d66afafad533f7ac5d"
"TLSv1.2/ECDHE-RSA-AES256-GCM-SHA384 "
but at this time i tried to get result via "curl" i seen
$ curl -IL https://qa-www.example.com/
HTTP/1.1 502 Bad Gateway
could you help me to understand how i can operate timeouts of requests to
the upstream servers and in case if one of the upstream server became is
slow to force requests switch to another server
Posted at Nginx Forum: https://forum.nginx.org/read.php?2,280259,280259#msg-280259
More information about the nginx
mailing list