AKS下Traefik Ingress前置Azure App Gateway WAF无日志及校验问题
遗漏配置排查
- 最核心的配置遗漏:你当前的域名仍然指向Traefik ingress的公网IP,用户请求直接访问Traefik,完全没有经过Azure Application Gateway(以下简称App GW),WAF自然不会生成任何日志。
- 确认App GW的WAF功能已正确启用:进入App GW的WAF配置页,确认WAF状态为启用,且配置了生效的规则集(如OWASP 3.2等),如果仅使用普通转发模式的App GW,不会生成WAF日志。
- 确认App GW的诊断设置已配置:在App GW的「诊断设置」菜单下,确认已经勾选ApplicationGatewayFirewallLog 日志项,且配置了投递目标为你执行查询的Log Analytics工作区,未开启诊断设置的前提下WAF事件不会被采集到日志系统。
- 确认App GW的转发规则配置正确:你的App GW监听器需要绑定对应业务域名、监听端口,HTTPS场景还要绑定对应域名的有效证书,同时请求转发规则需要将监听器和指向Traefik的后端池、你配置的HTTP设置正确关联,否则流量到App GW后无法转发到Traefik。
集成有效性测试方法
- 先做流量绕行测试避免影响线上业务:不用先改公网DNS,本地修改hosts文件,将你的业务域名指向App GW的公网IP,让本地测试流量优先走App GW。
- 链路连通性测试:本地访问业务域名,确认可以正常打开页面/拿到接口返回值,结合App GW的健康探测正常的状态,说明App GW到Traefik的转发链路无异常。
- WAF规则触发测试:构造恶意请求主动触发WAF规则,比如访问
https://你的域名/?test=<script>alert('xss')</script>这类典型XSS攻击请求,或者带SQL注入特征的请求路径。 - 日志验证:触发请求后等待3-5分钟,再执行如下查询语句验证:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
如果能查询到对应请求的拦截/检测日志,说明WAF与Traefik ingress的集成已经正常运行。
内容的提问来源于stack exchange,提问作者Matrix
相关产品推荐
相关产品推荐

