haproxy基于url和ip地址拒绝访问

时间:2016-08-24 06:40:55

标签: haproxy

我正在运行HAproxy 1.6.8,并希望使用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检查投诉我是不正确的,不能这样做。

你的想法是什么?

1 个答案:

答案 0 :(得分:2)

acl admin_page path_beg,url_dec -i /admincp

这可能(?)有效,但如果是......我不喜欢它。我的品味太多了,将*_beg传递给转换器。对于这部分,以下内容感觉更好,更安全。

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

获取path fetch,通过url_dec(url-unescape)转换器运行,然后对模式开头-i进行不区分大小写-m beg匹配{{1}结果字符串。

然后,您需要正确的语法和逻辑来应用它。

http-request deny if admin_page !whitelist

两个ACL之间的“和”是隐式的,第二个是否定的,所以拒绝任何请求if请求匹配admin_page ACL而不是whitelist ACL。 / p>