2016-06-10 72 views
0

現在我們已經有了一個動態的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更新後端路由。

感謝 亞歷山德羅

回答

0

一個server在HAProxy的聲明是一個單一的目標IP地址。即使該IP地址是動態的,並且可以改變,現在可以在1.6中進行更改,server只是/總是/永遠是單個目標,而不是每個請求都會改變的目標。你所考慮的與HAProxy的設計不一致。

您的後端服務器必須事先聲明。您可以創建傻瓜並通過統計套接字進行修改,動態配置可以通過腳本編寫配置文件生成過程(使用外部工具),然後重新加載HAProxy來完成,但是......它沒有與您正在考慮的內容相匹配的內部概念。

另外,當然,即使它是你的計劃的一個問題 - 它代表着一個潛在的安全漏洞:如果HAProxy的人解釋%[Host](我假設是指%[req.hdr(host)])作爲IP地址,沒有解決將被需要,並且你已經給了Host頭部中通過IP地址的任何人的內部訪問權限。

+0

感謝您的回覆。我已經認爲這將是答案。其他基於SNI的代理允許限制域,這樣只有一些域將被代理。 – AlessandroEmm