503 (<NOSRV>) although the target server is reachable from the HAProxy container?

I am really scratching my head right now. I have many services running in a Docker Swarm and happily balance them using HAProxy. One service though which has no different configuration than many other nginx-based services simply gives me a 503, although I can access the service from the HAProxy container without any problems.

So basically, I get a 503 No server is available to handle this request.

My backend is configured like this (again, I have many other similar backends in the same HAProxy):

backend be_indico
    balance roundrobin
    dynamic-cookie-key ECAPINDICO
    cookie SRVID insert dynamic
    option httpchk HEAD /
    default-server check maxconn 20
    server-template ecap-indico- 1 ecap-indico_indico-nginx:8080 check resolvers docker init-addr libc,none

and ecap-indico_indico-nginx can also be resolved correctly on the HAProxy container. I can also reach 8080 (tested with telnet ecap-indico_indico-nginx 8080 and typed GET /, which gives me a valid HTTP response).

How is it possible that HAProxy states there is no server available to handle this request? Any help on debugging this?

I forgot the endpoint_mode: dnsrr in the swarm configuration, with this it works:

    deploy:
      mode: replicated
      replicas: 1
      endpoint_mode: dnsrr