2016-08-24 305 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匹配。