使用Azure Front Door配置自定义域

s2j5cfk0  于 2023-05-29  发布在  其他
关注(0)|答案(3)|浏览(186)

我们有一个应用程序,允许客户使用自己的自定义域来访问他们在我们的应用程序上的帐户。
目前,我们正在使用Azure应用服务自定义域选项&当用户与我们共享其自定义域时,我们会手动将其添加到Azure自定义域列表,将其指向其唯一帐户URL。即projects.customerdomain.com(自定义域)到customer1.anywhereapp.io(他们在我们的产品“Anywhere”中的帐户)。
这种做法一直行之有效。
我们现在正在探索是否可以使用Azure Front Door使我们的应用程序在全球范围内更具响应性,我们遇到的一个问题是如何将客户的自定义域配置到他们特定的Anywhere帐户?
我已经看过官方的Azure FD自定义域文档,我知道它允许我们添加指向一个后端的自定义域,在我们的例子中,每个自定义域还需要指向一个特定的子域URL。即customer1.anywhereapp.io
我们如何做到这一点?
任何正确方向的指导都是值得赞赏的。
谢谢ST

bvuwiixz

bvuwiixz1#

Azure Front Door可以将请求主机标头转发到后端。因此,您可以使用DNS验证在Front Door和App Service上配置自定义域。
要执行此操作,请执行以下步骤:

  • 转到您的应用程序服务
  • 转到自定义域
  • 复制自定义域验证ID
  • 使用复制的值添加新的DNS TXT记录:TXT asuid.projects.customerdomain.com. <verification id>

  • 转到您的前门配置文件
  • 按照instructions on MSDN设置自定义域
  • 配置原点,如下所示:
  • 姓名:
  • 来源类型:应用服务
  • 主机名称:<yourappservice.azurewebsites.net>
  • 源主机标头:<-- leaving this empty will forward the request host header to the backend
  • 证书使用者名称验证:启用

现在,当向Front Door发出请求时,相同的请求会传递到您的后端,包括自定义域(projects.customerdomain.com)。从您的应用服务的Angular 来看,您是否使用Front Door没有区别。

hlswsv35

hlswsv352#

我们一直在为同样的问题而挣扎。虽然Jeremy的解决方案听起来很完美,但当我们在同一个域上有多个应用程序服务运行一个应用程序时,我们正在努力弄清楚如何使它工作。
例如,我们有一个应用程序在2个单独的应用程序服务/应用程序服务计划中运行。这是相同的应用程序代码。假设域名为my.website.com
AppServiceEast(假设其Azure非自定义域为appserviceeast.azurewebsites.net)AppServiceWest(假设其Azure非自定义域为appservicewest.azurewebsites.net)
他们都在运行应用程序。
我们已经设置了前门的泳池/规则/等等,没有问题。然而,我们遇到了两个问题中的一个:
1.如果我们保留原始主机标头,则无论何时有人访问my.website.com,他们的浏览器都会显示他们最终访问appserviceeast.azurewebsites.net或appservicewest.azurewebsites.net
1.如果我们把这些去掉,它应该只是继续沿着my.website.com-但问题是,我只能让其中一个应用程序服务的自定义域是my.website.com。如果我试图让它们都在那个域上工作,我会在试图为同一个域创建2个具有不同值的TXT记录时卡住。
感觉这必须是一件常见的事情-在一个域上的多个区域设置Web应用程序,并在我们认为合适的情况下在它们之间分配前门流量。然而,我们在每一个转弯处都遇到了障碍。

fcg9iug3

fcg9iug33#

你试过这个吗?
在为同样的事情挣扎。
要将Azure Front Door证书用于自定义域,自定义域的CNAME必须指向Azure Front Door终结点主机名。
要将Azure App Service证书用于自定义域,自定义域的CNAME必须指向Azure App Service主机名。
我发现的唯一方法是为Azure App Services创建足够长的CNAME,以生成自定义域的证书。然后将CNAME移动到Azure Front Door以生成证书。
但目前尚不清楚如果只有一个服务拥有所有必需的DNS记录,这两个服务是否会继续轮换证书。
Azure应用程序服务正在运行使用Easy Auth与Azure B2C集成的.NET应用程序。如果我没有使用自定义域的两个服务,redirect_uri将不正确,它将显示Azure App Services主机名。

相关问题