你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

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

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

重要

Azure 应用程序网关 Web 应用程序防火墙(WAF)中的自定义响应目前为预览版。 有关适用于 Beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 适用于 Microsoft 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 不支持自定义块响应状态代码和正文。