You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HAProxy配置根路径仅指定IP段访问、子目录允许所有IP访问的方法

HAProxy 1.8.19 访问控制正确配置

原有配置问题排查

你原来的配置http-request deny if { path -i -m beg / } !{ src 10.10.20.0/24 }无法达到预期的核心原因是:path -i -m beg /会匹配所有以/开头的路径(站点所有请求都符合这个匹配规则),会直接拦截/tempDownload/路径下的所有公网请求。

正确配置方案

根据实际需求分两种场景选择:

场景1:除/tempDownload/路径允许所有IP访问外,站点其他所有路径(含根路径/)仅允许10.10.20.0/24网段访问

这是原有配置隐含的需求,对应规则如下:

http-request deny if !{ src 10.10.20.0/24 } !{ path -i -m beg /tempDownload/ }

规则逻辑:仅当请求IP不在白名单网段 且 请求路径不是以/tempDownload/开头时,才触发拒绝操作,完全匹配需求。

场景2:仅精确限制根路径/的访问权限,其他任意路径(包括/tempDownload/和其他子路径)都无访问限制

如果只需要控制根路径的访问,对应规则如下:

http-request deny if { path -i / } !{ src 10.10.20.0/24 }

规则逻辑:只有请求路径精确等于/且IP不在白名单网段时才拒绝,不会影响任何子路径的访问。

生效说明

将上述规则添加到对应站点的frontend或listen配置段中,放在use_backend规则之前即可,配置修改后执行haproxy -c -f /etc/haproxy/haproxy.cfg检查语法无误后重载服务即可生效。

内容的提问来源于stack exchange,提问作者Emre Hayta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 23:06:04