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

Azure应用网关带WAF时出现504超时错误求助

Azure Application Gateway WAF启用时504超时问题排查方案

问题定位

已配置3600秒超时的Azure应用网关,启用WAF时长请求(约1小时)触发504错误;禁用WAF后,20-30分钟的请求可正常返回。此现象说明问题出在WAF层的额外限制或规则干扰,而非后端服务或网关基础超时配置。

排查步骤

1. 核对WAF独立超时配置

Azure WAF有自身的请求/连接超时参数,可能未同步网关的3600秒设置:

  • 检查WAF策略中的RequestTimeout参数,确认是否设为3600秒(默认值通常远低于此)。
  • 核查ConnectionTimeout配置,避免长连接被WAF提前断开。

2. 排查WAF规则触发情况

部分WAF规则可能误判长时请求或强制中断连接:

  • 通过Azure Monitor/Log Analytics过滤504错误对应的请求日志,查看是否有规则触发(如REQUEST-911-METHOD-ENFORCEMENT或自定义规则)。
  • 将WAF切换为检测模式测试:若检测模式下无504,说明是某条规则导致的中断。
  • 检查是否存在针对请求时长的自定义规则,或规则中配置了过短的超时阈值。

3. 验证WAF缓冲区限制

WAF处理长请求时,若请求/响应体过大可能因缓冲区耗尽终止连接:

  • 检查WAF的MaxRequestBodySize和MaxResponseBodySize配置,确保能容纳后端返回的大响应。
  • 查看日志中是否存在REQUEST_BODY_LIMIT_EXCEEDED类错误标识。

4. 对齐网关层叠超时配置

即使网关主超时设为3600秒,WAF与后端池的中间超时可能未匹配:

  • 确认后端池的健康探测超时和请求超时参数,避免因探测提前标记节点不健康导致流量中断。
  • 核查网关的ProbeTimeout和BackendHttpSettings.Timeout,确保均设为3600秒。

5. 排查WAF引擎资源瓶颈

高负载下WAF引擎可能因资源不足中断长连接:

  • 通过Azure Portal指标面板查看WAF的CPU、内存使用率,确认超时时段是否出现资源峰值。
  • 若使用WAF v2,检查是否启用自动缩放,确保负载增加时能及时扩容。

临时验证方法

将WAF策略的超时参数统一设为3600秒,同时禁用所有自定义规则,测试长请求是否正常。若问题缓解,逐步恢复规则并调整参数,定位具体触发点。

内容的提问来源于stack exchange,提问作者Parth Mehta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:35:28