一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

haproxy中使用map處理大量主機頭

 waitingnothing 2018-06-18
先吐槽一下haproxy的官方文檔,這個文檔真是個神奇的東西,所有需要的東西都在里邊,但是如果你想象力不夠豐富,就是不知道怎么使用。以下文檔,是我簡單翻譯的aloha blog中的文檔而來,加了一點自己的理解。
原文地址見參考文檔部分。

我有一個做售后服務的朋友,遇到過一家客戶,他們只有一個公網(wǎng)IP,但是要承擔幾十個不同域名的網(wǎng)站。當時他們使用的是F5 BIGIP,是通過irule取不同主機頭,分配到后端不同的pool中去。

haproxy面對同樣的問題,也采取了類似的方法,通過ACL來匹配請求中的主機頭,然后分配給不同的backend。例子如下:

frontend ft_allapps
 [...]
 use_backend bk_app1 if { hdr(Host) -i app1.domain1.com app1.domain2.com }
 use_backend bk_app2 if { hdr(Host) -i app2.domain1.com app2.domain2.com }
 default_backend bk_default

這個方法對于少量主機頭當然OK,但是要把情況極端化一點,例如上百個主機頭的情況呢?
那估計配置文件會讓人發(fā)瘋的。

但在haproxy 1.5版以后,haproxy引入了converter這個功能,其中有一種map類型的converter。
這個map converter的功能就是將input和output數(shù)據(jù)1:1做預先對應。
實際使用中,只要調(diào)用map converter,輸入map中預先定義好的input值,就會得到對應的output值。

map實際存在于一個包含格式的文本文件中,這個文件在haproxy啟動時被加載進來。該文件有兩列,左邊是input串,右邊是output串 。

那么對應前述例子,我們可以預先定義一個map文件,假設文件為/etc/hapee-1.5/domain2backend.map,其內(nèi)容如下:
#domainname  backendname
app1.domain1.com bk_app1
app1.domain2.com bk_app1
app2.domain1.com bk_app2
app2.domain2.com bk_app2

第一列是主機頭,第二列是對應分配的backend名稱。

然后在haproxy的配置文件中,做如下配置:
frontend ft_allapps
 [...]
 use_backend %[req.hdr(host),lower,map(/etc/hapee-1.5/domain2backend.map,bk_default)]

haproxy會按照如下步驟操作:

1.req.hdr(host) ==> 從HTTP請求中取得主機頭
2.lower ==> 轉(zhuǎn)換所有字符為小寫
3.map(/etc/hapee-1.5/domain2backend.map,bk_default) ==>在這個map文件中查找小寫的主機頭,如果找到對應項,則返回對應的backend名稱,如果沒找到返回bk_default這個backend名稱。
4.將請求流量發(fā)送給map返回的backend服務器。

這樣即使面對成百上千的主機頭,也只是需要在map文件中操作,然后reload即可。
即不需要寫正則表達式,也不需要在haproxy配置文件中寫入大量的ACL判斷。

另外,map數(shù)據(jù)是以"樹"的數(shù)據(jù)結(jié)構(gòu)存儲,所以其查找速度比起查ACL來說要快多了。

簡單就是美??!

2016.01.22增補

如果是https網(wǎng)站,則需要從sni中獲取hostname
use_backend %[ssl_fc_sni,lower,map(/etc/hapee-1.5/domain2backend.map,bk_default)]

參考文檔:
http://blog./2015/01/26/web-application-name-to-backend-mapping-in-haproxy/

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产免费一区二区三区av大片 | 国产又爽又猛又粗又色对黄| 亚洲欧美日韩网友自拍| 国产一区一一一区麻豆| 国产不卡视频一区在线| 国产一级特黄在线观看| 亚洲欧美日韩熟女第一页| 污污黄黄的成年亚洲毛片| 中文久久乱码一区二区| 午夜视频在线观看日韩| 欧美高潮喷吹一区二区| 人妻熟女中文字幕在线| 亚洲国产成人精品福利| 色播五月激情五月婷婷| 亚洲中文字幕有码在线观看| 搡老熟女老女人一区二区| 久热香蕉精品视频在线播放| 九九热最新视频免费观看| 日韩欧美一区二区亚洲| 日韩成人高清免费在线| 国产偷拍盗摄一区二区| 污污黄黄的成年亚洲毛片| 国产人妻熟女高跟丝袜| 亚洲国产精品久久精品成人| 国产一区二区三区精品免费| 国产在线小视频你懂的| 欧美一级不卡视频在线观看| 五月激情综合在线视频| 在线观看那种视频你懂的| 日韩不卡一区二区三区色图| 乱女午夜精品一区二区三区| 亚洲免费观看一区二区三区| 老富婆找帅哥按摩抠逼视频| 国产精品久久精品毛片| 日本欧美一区二区三区高清| 老司机精品视频免费入口 | 国产av一区二区三区久久不卡| 亚洲中文在线男人的天堂| 欧美黑人黄色一区二区| 成人精品国产亚洲av久久 | 亚洲第一香蕉视频在线|