Azure Front Door 中的通配符域

通配符域允许 Azure Front Door 接收顶级域的任何子域的流量。 通配符域示例如下:*.contoso.com

通过使用通配符域,可以简化 Azure Front Door 配置文件的配置。 无需修改配置即可单独添加或指定每个子域。 例如,你可以通过使用相同的路由并添加通配符域 customer1.contoso.com 来定义 customer2.contoso.comcustomerN.contoso.com*.contoso.com 的路由。

通配符域具有多个优点,包括:

  • 无需在 Azure Front Door 配置文件中加入每个子域。 例如,假设你为每个客户创建新的子域,并将所有客户的请求路由到单个源组。 每当添加新客户时,Azure Front Door 都知道如何将流量路由到源组,即使未显式配置子域也是如此。
  • 无需生成新的传输层安全性 (TLS) 证书,也不需要管理任何特定于子域的 HTTPS 设置,也可以为每个子域绑定证书。
  • 可以将单个 Web 应用程序防火墙 (WAF) 策略用于所有子域。

通常,通配符域用于支持软件即服务 (SaaS) 解决方案和其他多租户应用程序。 构建这些应用程序类型时,需要特别考虑如何将流量路由到源服务器。 有关详细信息,请参阅在多租户解决方案中使用 Azure Front Door

Note

使用 Azure DNS 管理域的 DNS 记录时,需要使用 Azure 资源管理器 API、Bicep、PowerShell 和 Azure CLI 来配置通配符域。 不支持在 Azure 门户中添加和管理 Azure DNS 通配符域。

添加通配符域和证书绑定

可以按照与子域类似的步骤添加通配符域。 有关将子域添加到 Azure Front Door 的详细信息,请参阅使用 Azure 门户在 Azure Front Door 上配置自定义域

Note

若要接受通配符域上的 HTTPS 流量,必须在通配符域上启用 HTTPS。 通配符域的证书绑定需要通配符证书。 也就是说,证书的使用者名称还应包含通配符域。

Note

  • 如果要添加的通配符域的子域已在 Azure Front Door 标准版或高级版配置文件中经过验证,则会自动批准域验证。 此条件适用于自带证书。 子域名的托管证书需要验证域名所有权。
  • 如果某个通配符域名已经过验证并已添加到某个配置文件中,只要该单级子域也经过验证,仍然可以将其添加到另一个配置文件中。

显式定义子域

您可以根据需要添加该通配符下的任意多个一级子域名。 例如,对于通配符域 *.contoso.com,还可以将子域添加到 image.contoso.comcart.contoso.com 等的 Azure Front Door 配置文件中。 为子域显式指定的配置优先于通配符域的配置。

在以下情况下,可能需要显式添加子域:

  • 你需要为子域定义与其余域不同的路由(从通配符域)。 例如,客户可能会使用 customer1.contoso.comcustomer2.contoso.com 等子域,这些子域应全部路由到主应用程序服务器。 但是,你可能还希望将 images.contoso.com 路由到 Azure 存储 Blob 容器。
  • 你需要为特定子域设置不同的 WAF 策略。

子域(如 www.image.contoso.com)不是 *.contoso.com 的单级子域。

WAF 策略

可以将 WAF 策略附加到通配符域,就像其他域一样。 可以将不同的 WAF 策略应用于通配符域的子域。 如果不将显式 WAF 策略关联到子域,则子域会自动从通配符域继承 WAF 策略。 但是,如果将子域添加到与通配符域配置文件不同的配置文件,则子域无法继承与通配符域关联的 WAF 策略。

如果你不希望为子域运行 WAF 策略,则可以创建没有托管或自定义规则集的空 WAF 策略。

Routes

配置路由时,选择通配符域作为源。 还可以为通配符域和子域设置不同的路由行为。 Azure Front Door 可跨不同路由为域选择最具体的匹配项。 有关详细信息,请参阅请求如何与传递规则匹配

Important

您必须在各路由之间使用一致的路径模式,否则客户端就会遇到错误。

例如,假设有两个路由规则:

  • 路由 1(*.foo.com/* 映射到源站组 A)。
  • 路由 2(bar.foo.com/somePath/* 映射到源组 B)。
    如果收到针对 bar.foo.com/anotherPath/* 的请求,Azure Front Door 会根据更具体的域名匹配选择路由 2,但在这些路由中都找不到匹配的路径模式。