将两个不同的子域映射到一个 Azure 应用服务计划(内部有两个不同的应用服务)

时间:2021-05-19 04:41:35

标签: azure azure-web-app-service azure-appservice

让我解决这个问题,我对 DNS 设置不太熟悉。但是我想知道我是否可以进行此设置。我现在无法对此进行测试,因为我控制着我们的 Azure 门户而不是域名提供商。

  1. 我们将有 2 个子域。例如,api.contoso.com 和 app.contoso.com
  2. 我们目前有一个 Azure 应用服务计划,其中包含两个应用。一个是前端 SPA,另一个是后端。

查看两个服务的IP地址和自定义域验证ID,是一样的!所以我想知道是否可以设置两个子域。如果不是,我会考虑将其中一个应用服务移到它自己的应用服务计划中,或者只是将单个自定义域映射到前端。有什么提示或建议吗?

1 个答案:

答案 0 :(得分:1)

是的,这是完全可能的,而且是非常标准的设置。您将在 DNS 设置中使用 CNAME 记录,这意味着您不会使用应用服务计划所在的 VM 的 IP 地址。相反,CNAME DNS 记录将您的自定义域映射到另一个域 - 在这种情况下是应用服务的域名。

您将为每个应用服务配置一个不同的自定义域(最好是一个证书来保护它)。

例如您的 DNS 可能如下所示:

app.contoso.com  CNAME  myapp.azurewebsites.net
api.contoso.com  CNAME  myapi.azurewebsites.net

即当对左侧的域发出请求时,它将被转发到右侧的域。

当对您的任一自定义域发出请求时,自定义域将位于主机标头中。此请求将路由到应用服务网关,该网关将查看主机标头,以了解将请求路由到哪个虚拟机,并在正确的虚拟机上使用哪个应用服务来为实际请求提供服务。

完成上述设置后,您可以查询 DNS 系统以查看请求将采用的完整路由,例如:

nslookup app.contoso.com

可能返回:

Name:    waws-prod-xyz-123-1234.uksouth.cloudapp.azure.com
Address:  99.99.99.99
Aliases:  app.contoso.com
      myapp.azurewebsites.net
      waws-prod-xyz-123-1234.uksouth.cloudapp.azure.com

使用此命令,您将看到您的应用服务计划所在的实际 VM(我已在此处设置 IP 和 VM 名称!)。