基于通配符的基于DNS的后端基于通配符

问题描述:

现在我们已经有了一个动态的DNS解析后端与Haproxy 1.6,我一直想知道我是否可以将端点解析为动态后端。这就是我要寻找:基于通配符的基于DNS的后端基于通配符

resolvers docker 
nameserver dnsmasq 127.0.0.1:53 

defaults 
mode http 
log global 
option httplog 

frontend f_myapp 
bind :443 
default_backend b_myapp 

backend b_myapp 
server services *:443 check resolvers docker resolve-prefer ipv4 

OR

server services [%Host]:443 check resolvers docker resolve-prefer ipv4 

说完这将让我不要有触摸HAProxy的的配置,但只使用DNS更新后端路由。

感谢 亚历山德罗

一个server在HAProxy的声明是一个单一的目标IP地址。即使该IP地址是动态的,并且可以改变,现在可以在1.6中进行更改,server只是/总是/永远是单个目标,而不是每个请求都会改变的目标。你所考虑的与HAProxy的设计不一致。

您的后端服务器必须事先声明。您可以创建傻瓜并通过统计套接字进行修改,动态配置可以通过脚本编写配置文件生成过程(使用外部工具),然后重新加载HAProxy来完成,但是......它没有与您正在考虑的内容相匹配的内部概念。

另外,当然,即使它是你的计划的一个问题 - 它代表着一个潜在的安全漏洞:如果HAProxy的人解释%[Host](我假设是指%[req.hdr(host)])作为IP地址,没有解决将被需要,并且你已经给了Host头部中通过IP地址的任何人的内部访问权限。

+0

感谢您的回复。我已经认为这将是答案。其他基于SNI的代理允许限制域,这样只有一些域将被代理。 – AlessandroEmm