您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

快速入门:使用 ARM 模板在应用程序网关上创建 Azure WAF v2

在本快速入门中,你将使用 Azure 资源管理器模板(ARM 模板)在应用程序网关上创建 Azure Web 应用程序防火墙 v2。

ARM 模板是定义项目基础结构和配置的 JavaScript 对象表示法 (JSON) 文件。 模板使用声明性语法。 在声明性语法中,你可以在不编写创建部署的编程命令序列的情况下,描述预期部署。

备注

本文已经过更新,以便使用 Azure Az PowerShell 模块。 若要与 Azure 交互,建议使用的 PowerShell 模块是 Az PowerShell 模块。 若要开始使用 Az PowerShell 模块,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

如果你的环境满足先决条件,并且你熟悉如何使用 ARM 模板,请选择“部署到 Azure”按钮。 Azure 门户中会打开模板。

部署到 Azure

先决条件

查看模板

此模板在 Azure 应用程序网关上创建简单的 Web 应用程序防火墙 v2。 这包括公共 IP 前端 IP 地址、HTTP 设置、包含端口 80 上的基本侦听器的规则,以及后端池。 将创建一个包含自定义规则的 WAF 策略,以根据 IP 地址匹配类型阻止发往后端池的流量。

本快速入门中使用的模板来自 Azure 快速启动模板

模板中定义了多个 Azure 资源:

部署模板

将 ARM 模板部署到 Azure:

  1. 选择“部署到 Azure”,登录到 Azure 并打开模板。 该模板在运行 IIS 的后端池中创建应用程序网关、网络基础结构和两个虚拟机。

    部署到 Azure

  2. 选择或创建资源组。

  3. 选择“我同意上述条款和条件”,然后选择“购买” 。 部署可能需要 10 分钟或更长时间才能完成。

验证部署

虽然无需 IIS 即可创建应用程序网关,但在后端服务器上安装 IIS 可以验证 Azure 是否已在应用程序网关上成功创建 WAF v2。

使用 IIS 测试应用程序网关:

  1. 在“概述”页面上查找应用程序网关的公共 IP 地址记录应用程序网关公共 IP 地址或者,可以选择“所有资源”,在搜索框中输入“myAGPublicIPAddress”,然后在搜索结果中选择该地址 。 Azure 会在“概览”页上显示公共 IP 地址。

  2. 复制公共 IP 地址,然后将其粘贴到浏览器的地址栏中,以便浏览该 IP 地址。

  3. 检查响应。 “403 禁止”响应表示 WAF 已成功创建,并正在阻止与后端池建立连接。

  4. 将自定义规则更改为“允许流量”。 运行以下 Azure PowerShell 脚本(请替换资源组名称):

    $rg = "<your resource group name>"
    $AppGW = Get-AzApplicationGateway -Name myAppGateway -ResourceGroupName $rg
    $pol = Get-AzApplicationGatewayFirewallPolicy -Name WafPol01 -ResourceGroupName $rg
    $pol[0].customrules[0].action = "allow"
    $rule = $pol.CustomRules
    Set-AzApplicationGatewayFirewallPolicy -Name WafPol01 -ResourceGroupName $rg -CustomRule $rule
    $AppGW.FirewallPolicy = $pol
    Set-AzApplicationGateway -ApplicationGateway $AppGW
    

    多次刷新浏览器就会看到与 myVM1 和 myVM2 的连接。

清理资源

如果不再需要通过应用程序网关创建的资源,请删除资源组。 这样会删除应用程序网关和所有相关的资源。

若要删除资源组,请调用 Remove-AzResourceGroup cmdlet:

Remove-AzResourceGroup -Name "<your resource group name>"

后续步骤