练习 - 测试 Front Door 和 WAF 策略
最后一步是测试 Front Door 环境,并验证路由规则是否已正确配置为定向 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 应用程序。
测试安全策略
下载并安装 Go for Windows。 在安装过程中使用所有默认设置。 需要 Go 才能运行 GoTestWAF 应用程序。
下载并安装 适用于 Windows 的 Git。 在安装过程中使用所有默认设置。 需要 Git 将 gotestwaf 存储库克隆到本地计算机。
安装 Go 和 Git for Windows 后,打开 Git Bash 并运行
git clone https://github.com/wallarm/gotestwaf.git
以将 GoTestWAF 文件下载到本地计算机。使用命令将目录更改为 gotestwaf 文件夹
cd 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)策略保护。