Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本教程演示如何使用 Azure 门户创建具有 Web 应用程序防火墙 (WAF) 的应用程序网关。 WAF 使用 OWASP 规则保护应用程序。 这些规则包括针对各种攻击(例如 SQL 注入、跨站点脚本攻击和会话劫持)的保护。 创建应用程序网关后,请测试该网关以确保其正常运行。 使用 Azure 应用程序网关,可以为端口分配侦听器、创建规则以及向后端池添加资源,以便将应用程序 Web 流量定向到特定资源。 为简单起见,本教程使用了带有公共前端 IP 的简单设置、在此应用程序网关上托管单个站点的基本侦听器、用于后端池的两个 Linux 虚拟机,以及基本的请求传递规则。
在本教程中,你将了解如何执行以下操作:
- 创建启用 WAF 的应用程序网关
- 创建用作后端服务器的虚拟机
- 创建存储帐户和配置诊断
- 测试应用程序网关
Nota
建议使用 Azure Az PowerShell 模块与 Azure 交互。 若要开始,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
登录 Azure 门户。
选择 Azure 门户左侧菜单上的“创建资源”。 此时会显示“创建资源”窗口。
选择“网络”,然后在“常用 Azure 服务”列表中选择“应用程序网关”。
在“基本信息”选项卡上,输入这些值作为以下应用程序网关设置:
Azure 需要一个虚拟网络才能在创建的资源之间通信。 可以创建新的虚拟网络,或者使用现有的虚拟网络。 在此示例中,将在创建应用程序网关的同时创建新的虚拟网络。 在独立的子网中创建应用程序网关实例。 在本示例中创建两个子网:一个用于应用程序网关,另一个用于后端服务器。
在“配置虚拟网络”下,选择“新建”以创建一个新的虚拟网络。 在打开的“创建虚拟网络”窗口中,输入以下值以创建虚拟网络和一个子网:
名称:输入 myVNet 作为虚拟网络的名称。
地址空间:接受 10.0.0.0/16 地址范围。
子网名称(应用程序网关子网):“子网”区域显示名为“默认”的子网。 将此子网的名称更改为 myAGSubnet,并将默认的 IPv4 地址范围保留为 10.0.0.0/24。
应用程序网关子网只能包含应用程序网关。 不允许其他资源。选择“确定”以关闭“创建虚拟网络”窗口,并保存虚拟网络设置 。
在“基本信息” 选项卡上,接受其他设置的默认值,然后选择“下一步: 前端”。
在“前端”选项卡上,验证“IP 地址类型”是否设置为“公共” 。
可以根据用例将前端 IP 配置为“公共”或“两者”。 本示例将选择公共前端 IP。Nota
对于应用程序网关 v2 SKU,目前支持“公共”和“两者”前端 IP 地址类型。 当前不支持仅“专用”前端 IP 配置。
为“公共 IP 地址”选择“新增”,输入“myAGPublicIPAddress”作为公共 IP 地址名称,然后选择“确定” 。
选择 下一步: 后端。
后端池用于将请求路由到为请求提供服务的后端服务器。 后端池可以包含 NIC、虚拟机规模集、公共 IP、内部 IP、完全限定的域名 (FQDN) 和多租户后端(例如 Azure 应用服务)。 此示例将使用应用程序网关创建一个空后端池,然后将后端目标添加到该后端池。
在“后端”选项卡上,选择“添加后端池” 。
在打开的“添加后端池”窗口中,输入以下值以创建空的后端池 :
- 名称:输入“myBackendPool”作为后端池的名称。
- 添加不包含目标的后端池:选择“是”以创建不包含目标的后端池 。 你将在创建应用程序网关之后添加后端目标。
在“添加后端池”窗口中,选择“添加”以保存后端池配置并返回到“后端”选项卡 。
在“后端” 选项卡上,选择“下一步: 配置”。
在“配置”选项卡上,使用路由规则连接创建的前端和后端池。
选择“路由规则”列中的“添加路由规则”。
在打开的“添加传递规则”窗口中,输入“myRoutingRule”作为规则名称。
对于“优先级”,请键入优先级编号。
路由规则需要一个侦听器。 在“添加传递规则”窗口中的“侦听器”选项卡上,输入侦听器的以下值 :
侦听器名称:输入“myListener”作为侦听器名称。
前端 IP 协议:选择“公共 IPv4”,以选择为前端创建的公共 IP。
接受“侦听器”选项卡上其他设置的默认值,然后选择“后端目标”选项卡以配置剩余的传递规则 。
在 后端目标 选项卡上,为 后端目标 选择 myBackendPool。
对于“后端设置”,请选择“新增”以创建新的后端设置。 此设置确定路由规则的行为。 在打开的“添加后端设置”窗口中,输入 myBackendSetting 作为“后端设置名称”。 接受窗口中其他设置的默认值,然后选择“添加”以返回到“添加传递规则”窗口。
在“添加传递规则”窗口上,选择“添加”以保存传递规则并返回到“配置”选项卡 。
选择“下一步: 标签”,然后选择“下一步: 审核和创建”。
复查“查看 + 创建”选项卡上的设置,然后选择“创建”以创建虚拟网络、公共 IP 地址和应用程序网关 。 Azure 可能需要数分钟时间来创建应用程序网关。
请等待部署成功完成,然后再前进到下一部分。
- 打开 myVNet 虚拟网络。
- 在“设置”下,选择“子网”。
- 选择“+ 子网”。
- 在“名称”中键入“myBackendSubnet”。
- 在“起始地址”中键入 10.0.1.0。
- 选择“添加”以添加子网。
本示例将使用虚拟机作为目标后端。 可以使用现有的虚拟机,或创建新的虚拟机。 创建两台虚拟机,供 Azure 用作应用程序网关的后端服务器。
为实现这一目标,你将要:
- 创建两个新的 Linux VM(myVM 和 myVM2),用作后端服务器。
- 在虚拟机上安装 NGINX,以验证是否已成功创建应用程序网关。
- 将后端服务器添加到后端池。
在 Azure 门户中,选择“创建资源”。 此时会显示“创建资源”窗口。
在“虚拟机”下,选择“创建”。
对于以下虚拟机设置,请在“基本信息”选项卡中输入相应值:
- 资源组:选择 myResourceGroupAG 作为资源组名称。
- 虚拟机名称:输入 myVM 作为虚拟机的名称。
- 映像:Ubuntu Server 20.04 LTS - Gen2。
- 身份验证类型:密码
- 用户名:为管理员用户名输入一个名称。
- 密码:输入管理员密码。
- 公共入站端口:选择“无”。
接受其他默认值,然后选择“下一步:磁盘” 。
接受“磁盘”选项卡的默认值,然后选择“下一步:网络” 。
在“网络”选项卡上,验证是否已选择 myVNet 作为虚拟网络,以及是否已将“子网”设置为 myBackendSubnet。
对于“公共 IP”,请选择“无”。
接受其他默认值,然后选择“下一步:管理” 。
选择“下一步:监控”,将“启动诊断”设置为“禁用”。 接受其他默认值,然后选择“复查 + 创建”。
在“复查 + 创建”选项卡上复查设置,更正任何验证错误,然后选择“创建”。
等待虚拟机创建完成,然后再继续操作。
本示例在虚拟机上安装 NGINX,只为验证 Azure 是否已成功创建应用程序网关。
运行以下命令以在虚拟机上安装 NGINX:
az vm extension set \ --publisher Microsoft.Azure.Extensions \ --version 2.0 \ --name CustomScript \ --resource-group myResourceGroupAG \ --vm-name myVM \ --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
使用以前完成的这些步骤创建第二个虚拟机并安装 NGINX。 使用 myVM2 作为虚拟机的名称,并在 cmdlet 的设置中使用
--vm-name
。
选择“所有资源”,然后选择“myAppGateway”。
从左侧菜单中选择“后端池”。
选择“myBackendPool”。
在“目标”类型下,从下拉列表中选择“虚拟机” 。
在目标下,从下拉列表中选择与myVM关联的网络接口。
针对 myVM2 重复上述操作。
选择“保存” 。
等待部署完成之后再继续下一步。
虽然不需 NGINX 即可创建应用程序网关,但你安装了它来验证 Azure 是否已成功创建应用程序网关。 使用 Web 服务测试应用程序网关:
在“概览”页上找到应用程序网关的公共 IP 地址。
或者,可选择“所有资源”,在搜索框中输入“myAGPublicIPAddress”,然后在搜索结果中将其选中。 Azure 会在“概览”页上显示公共 IP 地址。
复制该公共 IP 地址,并将其粘贴到浏览器的地址栏。
检查响应。 有效响应验证应用程序网关是否已成功创建,以及是否能够成功连接后端。
如果不再需要通过应用程序网关创建的资源,请删除资源组。 删除资源组时,也会删除应用程序网关和及其所有的相关资源。
若要删除资源组,请执行以下操作:
- 在 Azure 门户的左侧菜单上选择“资源组” 。
- 在“资源组”页的列表中搜索“myResourceGroupAG”,然后将其选中。
- 在“资源组”页上,选择“删除资源组” 。
- 在“键入资源组名称”字段中输入“myResourceGroupAG”,然后选择“删除”。