练习 - 测试 Front Door 和 WAF 策略
最后一步是测试 Front Door 环境,并验证路由规则是否已正确配置以定向 Web 流量。 我们还希望测试源 Web 服务器的可用性,以及缓存的内容在服务器停机时是否仍可访问。
为车辆登记 Web 应用测试交通流量分布情况
在 Cloud Shell 中运行以下命令,生成 Front Door 终结点的 URL。
echo https://$(az afd endpoint show \ --profile-name vehicleFrontDoor \ --endpoint-name $endpoint \ --resource-group $RG \ --query hostName \ --output tsv)
使用 Web 浏览器,导航到前一命令返回的 URL 网站。 此 URL 是在 Front Door 配置文件中创建的终结点的地址。 验证显示了车辆登记 Web 应用的主页。 注意,Web 服务器的名称显示在页面上,让你了解正在为请求提供服务的实例。
在键盘上按几次 F5 可刷新浏览器。 请注意,服务器名称在 webServer1 和 webServer2 之间来回更换。 这两个 Web 服务器位于同一区域,并且具有相似的延迟。 因此,这两个服务器有同等的机会为你的请求提供服务。
测试路由
现在,让我们测试路由配置到每个网站的路由。 你已配置匹配 /VehicleRegistration/
和 /VehicleRegistration/*
的路由,以到达 Web 服务器的专用终结点。 将匹配 /LicenseRenewal/
和 /LicenseRenewal/*
的请求路由到应用服务。 在此实验室中,Azure Front Door 与源资源之间的通信是专用的,因为连接是通过专用链接服务建立的。
若要测试车辆登记网站的其他页面的路由,请选择“登记车辆”。
请注意 URL 已发生更改,以包含路径
/VehicleRegistration/Create
。 由于我们有/VehicleRegistration/*
的匹配模式,通配符匹配/
之后的任何内容,并路由至托管车辆登记网站的 Web 服务器。接下来,让我们测试到驾照续期网站的路由。 将路径从
/VehicleRegistration/Create
更改为/LicenseRenewal/
。 此路径路由到应用服务源。选择“驾照续期”,可看到路径更改为
/LicenseRenewal/Create
。 与车辆登记的路由一样,有一种/LicenseRenewal/*
的匹配模式,它有一个通配符来匹配/
之后的任何内容并将该流量定向到应用服务。
使用此配置,可以通过 Front Door 将用户定向到这两个网站。 可以设置易记的自定义域,并将用户定向到正确的页面以满足其需求。 使用 Front Door,可以扩展至托管多个网站,启用缓存以提高静态资源的性能,并提供高度可缩放和可用的 Web 应用程序。
测试安全策略
下载并安装适用于 Windows 的 GO。 在安装过程中使用所有默认设置。 需要 Go 以运行 GoTestWAF 应用程序。
下载并安装适用于 Windows Git。 在安装过程中使用所有默认设置。 需要使用 Git 将 gotestwaf 存储库克隆到本地计算机。
安装适用于 Windows 的 GO 和 Git 后,打开 Git Bash 并运行
git clone https://github.com/wallarm/gotestwaf.git
以将 GoTestWAF 文件下载到本地计算机。使用
cd gotestwaf
命令将目录更改为 gotestwaf 文件夹。现在运行以下命令来测试安全策略是否能正常运作。 将“EVALUATE_SECURITY_SOLUTION_URL”替换为本单元开头的终结点 URL<>。
go run ./cmd --url=<EVALUATED_SECURITY_SOLUTION_URL> --verbose
如果正确配置了 WAF 策略设置,则应在输出中看到
Baseline attack status code: 999
。 此响应状态代码与 WAF 阻止请求时配置的响应状态代码相同。
现在,你拥有一个功能齐全的机动车 Web 应用程序,该应用程序受 Web 应用程序防火墙 (WAF) 策略保护。