Haproxy中DNS的解析配置

默认情况下,Haproxy中的server的配置行是支持 HostName 的,并在 haproxy 中启动后,解析hostName得到IP地址,并将IP地址缓存到 haproxy 整个生命期,但这种情况会出现一个问题,如果后端服务器的hostName的 IP 更改了,无法更新已缓存的 IP 。此时haproxy就无法访问该后端服务器了,本文解决的就是这个问题。在Haproxy增加 DNS的解析设置,并在每次健康检测的时候,解析HostName,并验证。这样一旦后端服务器 HostName 对应的IP 更改了,也能在健康检测的周期内,更新缓存中的IP地址。

一、resolvers 语句语法

resolvers mydns
    nameserver dns1 192.168.80.1:53
    nameserver dns2 192.168.80.1:53
    resolve_retries       3
    timeout retry         1s
    hold other           30s
    hold refused         30s
    hold nx              30s
    hold timeout         30s
    hold valid           10s

二、配置项解释

resolvers <resolvers id>

创建一个新的NS列表,id表示列表的标签(或叫名称、ID)。

nameserver <id> <ip>:<port>

id:NS的标识(或叫名称、ID)。
ip:不解释。
port:一般都是53。

resolve_retries <nb>

失败重试的次数,默认是3次。

timeout retry <time>

两次查询的超时设置,默认1s

hold <status> <period>

大概是各种超时之类的设置吧。

Haproxy中DNS的解析配置》上有1条评论

  1. Pingback引用通告: Haproxy中的后端服务器server的使用 | 精彩每一天

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>