练习 - 创建和配置 Front Door

已完成

Front Door 侦听终结点并将传入请求与路由相匹配。 然后,它会将这些请求转发到最佳可用源。 定义的路由配置确定了 Front Door 在将请求转发到源之前如何在边缘处理此请求。

在边缘处理的信息包括:

  • 路由接受的协议。
  • 要匹配的路径。
  • 将流量重定向到 HTTPS。
  • 确定为请求提供服务的源组。
  • 设置用于转发请求的协议。
  • 使用缓存(如果已启用)。
  • 在转发到源之前,使用规则集进一步处理请求。

在机动车部门系统中,需要配置应用程序网关以在托管车辆登记 Web 应用的各 Web 服务器中对传入的请求进行负载均衡。 还需要配置 Front Door,使用专用链接访问托管驾照续期网站的应用服务。 Azure Front Door 配置文件有一个包含两个路由的终结点,每个路由都配置为将流量路由到正确的网站。 最后,你配置一个包含 WAF 策略的安全策略,用来保护 Web 应用程序免受恶意攻击和入侵者的侵害。

本练习将指导你创建 Front Door 配置文件、在源组中配置源、设置路由和应用安全策略。 然后,你将测试每个路由以验证 Front Door 是否正确处理每个请求。

创建 Azure Front Door

在本单元中,你将创建一个名为 vehicleFrontDoor 的 Front Door,它具有以下配置:

  • 两个源组。 第一个源组包含 Web 服务器虚拟机的服务终结点 IP。 第二个源组包含应用服务。 你还将启用对这些源的专用链接访问。
  • 批准 Web 服务器和应用服务的专用终结点连接。
  • 在 Front Door 配置文件中创建一个终结点,其中两个路由已配置为将请求定向到车辆登记网站和驾照更新网站。
  • 包含用于阻止恶意请求的 WAF 策略的安全策略。
  1. 使用以下命令创建 Azure Front Door 配置文件:

    az afd profile create \
        --profile-name vehicleFrontDoor \
        --resource-group $RG \
        --sku Premium_AzureFrontDoor
    
  2. 使用以下命令在该配置文件中创建第一个终结点:

    endpoint="vehicle-$RANDOM"
    az afd endpoint create \
        --endpoint-name $endpoint \
        --profile-name vehicleFrontDoor \
        --resource-group $RG
    

创建源组并添加源

  1. 登录 Azure 门户以完成 Front Door 配置文件设置。 确保使用激活沙盒所用的帐户。

  2. 转到创建的 vehicleFrontDoor Front Door 配置文件,然后从左侧菜单窗格的“设置”下选择“源组”。

    Screenshot of origin groups settings for vehicleFrontDoor profile.

  3. 选择“+ 添加”以创建第一个源组。 对于名称,输入“webServers”。 然后选择“+ 添加源”。 输入或选择以下信息以添加 webserver 源:

    Screenshot of adding a web server origin setting in an origin group.

    设置
    名称 输入“webServerEndpoint”。
    源服务器类型 选择“自定义”。
    主机名 输入“10.0.1.8”
    源主机标头 此字段与此示例的主机名相同。
    证书使用者名称验证 保留为选中。 对于专用链接服务是必需的。
    HTTP 端口 保留为默认值。 80。
    HTTPS 端口 保留为默认值。 443。
    优先度 保留为默认值。 1.
    重量 保留为默认值。 1000。
    专用链接 选中“启用专用链接服务”复选框。
    选择专用链接 选择“在我的目录中”。
    资源 选择“myPrivateLinkService”。
    区域 选择资源时会选择区域。
    请求消息 输入“webServer 专用连接”。
    Status 启用此源。
  4. 选择“添加”,将源添加到源组。 将其余源组设置保留为默认值。 然后,选择“添加”以创建源组。

    Screenshot of a web server origin added to an origin group.

  5. 再次选择“+ 添加”,创建第二个源组。 对于名称,请输入“appService”。 然后选择“+ 添加源”。 输入或选择以下信息。

    Screenshot of adding an App service origin setting in an origin group.

    设置
    名称 输入“appService”。
    源服务器类型 选择“应用服务”。
    主机名 在下拉菜单中选择以 licenserenewal 开头 Azure 网站。
    源主机标头 此字段与此示例的主机名相同。
    证书使用者名称验证 保留为选中。 对于专用链接服务是必需的。
    HTTP 端口 保留为默认值。 80。
    HTTPS 端口 保留为默认值。 443。
    优先度 保留为默认值。 1.
    重量 保留为默认值。 1000。
    专用链接 保留为默认值。
    状态 启用此源。
  6. 选择“添加”,将源添加到源组。 将其余源组设置保留为默认值。 然后,选择“添加”,以创建第二个源组。

    Screenshot of an app service origin added to an origin group.

批准专用终结点连接

  1. 为源资源启用专用链接服务后,你需要批准专用终结点连接请求,然后才能建立专用连接。 要批准 Web 服务器连接,请找到在之前名为“myPrivateLinkService”的单元中创建的专用链接服务资源。 在左侧菜单窗格的“设置”下,选择“专用终结点连接”。

  2. 选择描述为“webServer 专用连接”的挂起连接,然后选择“批准”。 然后,选择“是”,以确认批准建立连接。

    Screenshot of private endpoint connection approval list for web servers.

  3. 无需批准应用服务的专用终结点,因为连接通过公共 Internet 进行。

添加路由

在这里,你将添加两个路由,将流量定向到车辆登记网站和驾照续期网站。

  1. 转到 vehicleFrontDoor 配置文件的“Front Door 管理器”。 从你在步骤 2 中创建的终结点中选择“+ 添加路由”。

    Screenshot of add a route button from Front Door manager.

  2. 选择或输入以下信息,然后选择“添加”为车辆登记网站创建第一个路由。

    Screenshot of vehicle registration route settings.

    设置
    名称 输入“VehicleRegistration”
    已启用路由 保留为选中。
    在下拉菜单中选择唯一可用的域。
    要匹配的模式 输入 /VehicleRegistration/VehicleRegistration/*/* 以进行路径匹配。
    接受的协议 从下拉菜单中选择“HTTP 和 HTTPS”。
    重定向 取消选中“重定向所有流量以使用 HTTPS”
    源组 从下拉菜单中选择“webServers”。
    源路径 留空。
    转发协议 选择“仅限 HTTP”。
    Caching 选中复选框以启用缓存。
    查询字符串缓存行为 从下拉菜单中选择“忽略查询字符串”。
  3. 再次选择“+ 添加路由”,以为驾照更新网站创建一个路由。 选择或输入以下信息,然后选择“添加”以创建第二个路由。

    Screenshot of license renewal route settings.

    设置
    名称 输入“LicenseRenewal”
    已启用路由 保留为选中。
    在下拉菜单中选择唯一可用的域。
    要匹配的模式 输入 /LicenseRenewal/LicenseRenewal/* 以进行路径匹配。
    接受的协议 从下拉菜单中选择“HTTP 和 HTTPS”。
    重定向 取消选中“重定向所有流量以使用 HTTPS”
    源组 从下拉菜单中选择“appService”。
    源路径 留空。
    转发协议 选择“匹配传入的请求”。
    Caching 选中复选框以启用缓存。
    查询字符串缓存行为 从下拉菜单中选择“忽略查询字符串”。

创建安全策略

为了保护机动车网站,你将通过应用安全策略在终结点上配置 Web 应用程序防火墙 (WAF) 策略。

  1. 在“Front Door 管理器”中,针对终结点选择“+ 添加策略”。 对于名称,输入“securityPolicy”,然后从下拉列表中选择域。

  2. 选择“新建”以创建新的 WAF 策略。 将 WAF 策略命名为“frontdoorWAF”,然后选择“保存”,将 WAF 策略应用到终结点。

    Screenshot of adding security policy containing WAF policy settings.

配置 WAF 策略

  1. 转到你在上一步中创建的“frontdoorWAF”资源。 从“概述”中,选择“切换到预防模式”以开始阻止恶意流量。

    Screenshot of the switch to prevention mode button from overview page of WAF policy.

  2. 从左侧窗格中选择“设置”下的“策略设置”,以配置此 WAF 策略的策略设置。

    Screenshot of policy settings button from under settings for WAF policy.

  3. 要快速确定 WAF 策略是否有效,请将“阻止响应状态代码”设置为 999,然后选择“保存”来应用新的策略设置。

    Screenshot of updating response code for blocked requests.

配置好 Front Door 配置文件后,就可以通过向其发送请求来进行测试了。