haproxy根据url和ip地址拒绝访问
问题描述:
我正在运行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的检查投诉我是不正确的,并不能做到这一点。
你的想法是什么?
答
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匹配。