I had a similar problem, and I believe reducing my ‘hold valid’ setting to 1s fixed it.
From: DHAVAL JAISWAL [mailto:dhava...@gmail.com] Sent: Monday, November 13, 2017 2:31 AM To: HAproxy Mailing Lists <haproxy@formilux.org> Subject: backend has no server available! [External Email] I had the following config where we are using AWS ELB for load balancing. However, now we are keep getting backend test_cluster has no server available! Under this ELB two servers attached. Both instance are in healthy state. Healthy state we are checking on port 80 and tomcat response sending on port 8080 internal-testtomcatautoscale-1314784611.ap-southeast-1.elb.amazonaws.com<http://internal-testtomcatautoscale-1314784611.ap-southeast-1.elb.amazonaws.com> resolvers testresolver nameserver dns1 169.254.169.253:53<http://169.254.169.253:53> resolve_retries 3 timeout retry 1s hold valid 10s backend test_cluster mode http option forwardfor fullconn 10000 option httpchk /test-testalive http-check expect string OK option http-server-close option abortonclose balance roundrobin server server1 internal-testtomcatautoscale-1314784611.ap-southeast-1.elb.amazonaws.com:8080<http://internal-testtomcatautoscale-1314784611.ap-southeast-1.elb.amazonaws.com:8080> check resolvers testresolver What could be the cause of this issue. How can i fix it.