我使用 HaProxy 将流量转发到具有 dns 名称而不是网络地址的后端服务器:
backend default-backend
server external somedomain.com:80
Run Code Online (Sandbox Code Playgroud)
问题是存在无法解决的情况。在这种情况下,HaProxy 说:
服务器默认后端/外部正在关闭以进行维护(DNS NX 状态)。0 个活动服务器和 0 个备用服务器。0 个会话处于活动状态,0 个重新排队,0 个剩余在队列中。后端默认后端没有可用的服务器!
我希望 HaProxy 再次检查 DNS 解析,并在目标 DNS 名称再次可解析时开始转发流量。问题是我必须声明resolvers
部分和至少一个nameserver
可以解决这样的地址的部分:
resolvers rslvr
nameserver dns0 8.8.8.8:53
Run Code Online (Sandbox Code Playgroud)
如果我不喜欢声明任何解析器怎么办?我只希望 HaProxy 像启动时一样检查 DNS 解析。是否可以?
如果我不使用解析器,后端就会停止工作,并且不会检查该域是否再次可用。同样的事情发生时,我没有任何nameserver
的resolvers
部分。
有什么方法可以nameserver
省略显式声明或者使用 HaProxy 在启动时使用的一些默认解析器?
haproxy ×1