为 Azure 应用程序网关 WAF 配置自定义响应代码和正文

默认情况下,当 Azure 应用程序网关上的 Azure Web 应用程序防火墙(WAF)由于匹配的规则而阻止请求时,它会返回一个 403 状态代码,其中包含消息“请求被阻止”。可以通过配置自定义状态代码和消息来更好地适应用例来自定义响应。

本文介绍如何在 Azure 应用程序网关的 Web 应用程序防火墙(WAF)使用 Azure 门户阻止请求时配置自定义响应页。 还可以使用 Azure CLIPowerShell 配置自定义响应。

重要

Azure 应用程序网关 Web 应用程序防火墙(WAF)中的自定义响应目前为预览版。 有关适用于 Beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览版补充使用条款

配置自定义响应状态代码和消息

若要自定义响应状态代码和正文,请执行以下步骤:

  1. 在 Azure 门户中转到应用程序网关 WAF 策略。

  2. “设置”下,选择“ 策略设置”。

  3. 分别在 “阻止响应状态代码 ”和 “阻止响应正文 ”中输入自定义响应状态代码和响应正文。

    显示 Azure Web 应用程序防火墙策略设置的屏幕截图。

  4. 选择“保存”

在此示例中,我们将默认的 403 响应代码更改为 429,并设置一条简短消息,指出 “请求已被阻止”。

显示自定义响应示例的屏幕截图。

局限性

为 Azure 应用程序网关 WAF 配置自定义响应时,以下限制适用:

  • 最多可以在一个应用程序网关内启用 20 个 WAF 策略,其中包含自定义块响应状态代码和正文。
  • 可以使用以下自定义状态代码之一:200、403、405、406、429、990、991、992、993、994、995、996、997、998、999。
  • 自定义块响应正文的最大大小为 32KB。
  • 使用 Azure 资源管理器 (ARM) API 时,必须为自定义块响应正文使用 base64 编码。
  • 容器 WAF 的应用程序网关不支持自定义块响应状态代码和正文。