我正在运行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检查投诉我是不正确的,不能这样做。
你的想法是什么?
答案 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>