2016-08-24 96 views
0

我正在運行HAproxy 1.6.8,並想限制對IP地址白名單的Web管理員登錄的訪問。但我無法弄清楚如何正確地做到這一點。haproxy根據url和ip地址拒絕訪問

frontend main 
mode http 
bind 0.0.0.0:80 
acl admin_page path_beg,url_dec -i /admincp 
acl whitelist src 10.0.0.0/8 

我的目的是使用:

http-request deny admin_page unless whitelist 

但HAProxy的檢查投訴我是不正確的,並不能做到這一點。

你的想法是什麼?

回答

0
acl admin_page path_beg,url_dec -i /admincp 

這可能(?)是有效的,但如果是...我不喜歡它。我的口味有太多的魔力,通過轉換器傳遞*_beg。以下感覺像是這部分更好,更安全的解決方案。

acl admin_page path,url_dec -m beg -i /admincp 

就拿path取,通過url_dec(網址反向轉義)轉換器運行它,然後做一個不區分大小寫-i匹配模式的對抗開始結果字符串-m beg

然後,您需要正確的語法和邏輯來應用它。

http-request deny if admin_page !whitelist 

的「和」之間的兩個ACL是隱式的,並且所述第二被否定,所以拒絕任何請求if請求的admin_page ACL,而不是whitelist ACL匹配。