HAProxy Enterprise Documentation 1.6r2


A resolvers section lists DNS nameservers that HAProxy Enterprise will query when it needs to resolve a hostname to an IP address. Each resolvers keyword is followed by a label, such as mynameservers, to differentiate it from others.

resolvers mynameservers
   nameserver ns1
   nameserver ns2

Each nameserver line indicates the IP address and port of a DNS nameserver. HAProxy Enterprise queries them in top-down order until it receives a valid response.

Resolvers configuration examples

The most common way to use this feature is to configure backend server hostnames instead of IP addresses. When defining a list of servers in a backend or listen section, you can use DNS names.

In the following configuration sample the servers defined in backend webservers are using the resolvers field on each server line to reference the resolvers section that will be used to resolve the server's name.

resolvers mynameservers
   nameserver ns1
   nameserver ns2

backend webservers
   server s1 hostname1.example.com:80 check resolvers mynameservers
   server s2 hostname2.example.com:8080 check resolvers mynameservers
   server s3 hostname3.example.com:8080 check resolvers mynameservers

Adjusting DNS settings

You can adjust how HAProxy Enterprise queries nameservers and caches the responses. The following sample configuration contains a resolvers section with all available options configured.

resolvers mynameservers
   nameserver ns1
   nameserver ns2

   # How long to cache answers depending on the name resolution status
   hold valid    10s
   hold other    30s
   hold refused  30s
   hold nx       30s
   hold timeout  30s
   hold obsolete 30s

   # How many times to retry a query
   resolve_retries 3

   # How long to wait between retries when no valid response has been received
   timeout retry 1s

Next up