如何为特定Web App/域名配置Azure WAF自定义URL拦截规则?
可以实现针对性拦截规则
Azure Application Gateway V2的WAF完全支持针对特定域名+URL路径的精准拦截,无需依赖全局规则,具体可通过两种方式实现:
方式一:创建自定义WAF规则(推荐)
直接在WAF的自定义规则引擎中配置两条独立规则,每条规则精准匹配目标域名与URL的组合:
- 第一条规则:
- 匹配条件1:
Host头 等于www.webapp1.com - 匹配条件2:请求URI 包含
/admin - 逻辑关系:
And(两个条件同时满足) - 执行动作:
Block
- 匹配条件1:
- 第二条规则:
- 匹配条件1:
Host头 等于www.webapp2.com - 匹配条件2:请求URI 包含
/anotheradmin - 逻辑关系:
And - 执行动作:
Block
- 匹配条件1:
配置步骤(Azure门户操作):
- 进入你的Application Gateway资源,打开「WAF」选项卡
- 切换到「自定义规则」页面,点击「添加规则组」
- 给规则组命名后,点击「添加规则」,分别配置上述两条规则
- 设置规则优先级(建议比全局规则优先级更高,确保先执行)
方式二:路由规则绑定独立WAF策略(适合多域名隔离场景)
如果不同域名对应独立的路由规则,可给每个路由规则绑定专属WAF策略:
- 分别创建两个WAF策略,每个策略中配置对应URL的拦截规则(比如一个策略拦截
/admin,另一个拦截/anotheradmin) - 回到Application Gateway的「路由规则」页面,编辑对应域名的路由规则,将其关联到对应的WAF策略
- 这种方式可让不同域名的WAF规则完全独立管理,避免规则冲突
注意事项
- 规则测试:配置完成后,用
curl或Postman分别测试目标URL和其他正常URL,验证拦截效果是否符合预期 - 优先级调整:WAF规则按优先级从高到低执行,确保针对性规则的优先级高于全局规则,避免被全局规则覆盖
- 日志排查:如果规则不生效,可查看Application Gateway的WAF日志,确认请求是否匹配到目标规则
内容的提问来源于stack exchange,提问作者Florian Sauerwein
相关产品推荐
相关产品推荐

