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

Azure应用网关拦截含"+"的请求并返回400错误,如何解决?

问题解答

这个问题需要在Azure应用网关WAF层面修复,原因和处理步骤如下:

核心原因

你的请求是被应用网关的WAF规则拦截的——微软托管规则集(如OWASP核心规则集)中,存在针对URL特殊字符的检测逻辑,将邮箱地址里的+号误判为潜在的恶意注入或非法字符,直接返回400错误,请求根本没有到达后端应用服务。

具体处理步骤

  • 定位触发拦截的具体规则:查看应用网关的WAF日志,找到拦截请求对应的规则ID(比如OWASP规则中的特定条目)。
  • 针对触发规则做调整,二选一即可:
    • 设置规则例外:为包含邮箱参数的URL路径或特定字段添加规则排除项,让WAF忽略该字段的+字符检测,这是最优方案,不会影响其他规则的防护效果。
    • 禁用触发规则:如果该规则的防护逻辑对你的业务场景不必要,可以直接禁用这条规则(不推荐全局禁用规则集,优先用例外配置)。
  • 调整后测试:重新发送带+号邮箱的POST请求,确认请求能正常通行且不会触发拦截。

为什么不需要修改应用服务

因为请求被WAF拦截时,应用服务根本没有接收到该请求,400错误是WAF直接返回的,所以应用服务层面无需做任何调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:20:02