强制HAProxy查找后端服务器的DNS


14

我有haproxy 1.5.8,它代理一些对我们无法控制的第三方的请求(基于路径)。

由于后端服务器的IP在启动时已解析一次,因此如果IP更改,它将中断。

是否有解决方法?在nginx中,可以声明一个内部变量并将其缓存X秒。我没有找到类似的HAProxy解决方案。

Answers:


25

随着HAProxy 1.6的最新发行版,您可以解决您的问题。现在,您可以定义解析器并将它们与您的后端关联。IP解析将在运行时完成。

resolvers dns
  nameserver public-0  xx.xx.xx.xx:53
  hold valid 1s

frontend http
  bind *:8000
  default_backend site-backend

backend site-backend
  balance leastconn
  server site sub.example.com:80 resolvers dns check inter 1000

StackOverflow讨论这个

链接到相应的文档


嗯,当我执行此操作并开始刷新页面时,我在一分钟左右的时间内得到了503
Paulius Dragunas

我必须有多个重复的“服务器”行discourse.haproxy.org/t/...
jamshid

1

不幸的是,这似乎仍在进行中。

您是否考虑过使用单独的Nginx代理?这样您就可以将对后端的请求转发到nginx实例,然后再由DNS解析并转发请求?不是ideak,但可能在流量较低的环境中工作。


总是有该解决方案,但希望找到一个可以使其保持简单的解决方案。
Bastien974
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.