這篇文章主要介紹“haproxy中ACL智能負(fù)載均衡怎么實(shí)現(xiàn)”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“haproxy中ACL智能負(fù)載均衡怎么實(shí)現(xiàn)”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)專注于防城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供防城營(yíng)銷型網(wǎng)站建設(shè),防城網(wǎng)站制作、防城網(wǎng)頁設(shè)計(jì)、防城網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造防城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供防城網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
由于HAProxy 可以工作在七層模型下, 因此,要實(shí)現(xiàn) HAProxy 的強(qiáng)大功能,一定要使用強(qiáng)大靈活的ACL 規(guī)則,通過ACL 規(guī)則可以實(shí)現(xiàn)基于HAProxy 的智能負(fù)載均衡系統(tǒng)。
HAProxy 通過ACL 規(guī)則完成兩種主要的功能,分別是:
1) 通過設(shè)置的ACL 規(guī)則檢查客戶端請(qǐng)求是否合法。如果符合ACL 規(guī)則要求,那么就將放行,反正,如果不符合規(guī)則,則直接中斷請(qǐng)求。
2) 符合ACL 規(guī)則要求的請(qǐng)求將被提交到后端的backend 服務(wù)器集群,進(jìn)而實(shí)現(xiàn)基于ACL 規(guī)則的負(fù)載均衡。
HAProxy 中的ACL 規(guī)則經(jīng)常使用在frontend 段中,使用方法如下:
acl 自定義的acl名稱 acl方法 -i [匹配的路徑或文件]
其中:
acl:是一個(gè)關(guān)鍵字,表示定義ACL 規(guī)則的開始。后面需要跟上自定義的ACL 名稱 。
acl 方法 :這個(gè)字段用來定義實(shí)現(xiàn)ACL 的方法,HAProxy 定義了很多ACL 方法,經(jīng)常使用的方法有hdr_reg(host)、hdr_dom(host)、hdr_beg(host)、url_sub、url_dir、path_beg、path_end 等。
經(jīng)常使用的方法:
hdr_beg(host)#精確匹配主機(jī), 表示以什么開頭的域名
hdr_reg(host)#正則匹配主機(jī),表示以什么開頭的域名
path_beg#匹配路徑,表示以什么路徑開頭
path_end#匹配路徑結(jié)尾,表示以什么路徑結(jié)尾
url_sub :表示請(qǐng)求url 中包含什么字符串,例如:acl file_req url_sub -i killall=,表示在請(qǐng)求url 中包含killall=,則此控制策略返回true
url_dir :表示請(qǐng)求url 中存在哪些字符串作為部分地址路徑,例如 acl dir_req url_dir -i allow,表示在請(qǐng)求url 中存在allow作為部分地址路徑,則此控制策略返回true,否則返回false
-i:表示忽略大小寫,后面需要跟上匹配的路徑或文件或正則表達(dá)式。
與ACL 規(guī)則一起使用的HAProxy 參數(shù)還有use_backend,use_backend 后面需要跟上一個(gè)backend 實(shí)例名,表示在滿足ACL 規(guī)則后去請(qǐng)求哪個(gè)backend實(shí)例,與use_backend 對(duì)應(yīng)的還有default_backend 參數(shù),它表示在沒有滿足ACL 條件的時(shí)候默認(rèn)使用哪個(gè)后端backend。
下面列舉幾個(gè)常見的ACL 規(guī)則例子:
acl www_policy hdr_reg(host) -i ^(www.z.cn|z.cn) acl bbs_policy hdr_dom(host) -i bbs.z.cn acl url_policy url_sub -i buy_sid= use_backend server_www if www_policy use_backend server_app if url_policy use_backend server_bbs if bbs_policy default_backend server_cache
關(guān)于“haproxy中ACL智能負(fù)載均衡怎么實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。