【问题标题】:Configuring custom domain on traffic manager and web app在流量管理器和 Web 应用程序上配置自定义域
【发布时间】:2018-05-04 02:59:20
【问题描述】:

我引用了这个 microsoft 文档,但它令人困惑。

https://docs.microsoft.com/en-us/azure/app-service/web-sites-traffic-manager-custom-domain-name

首先,他们解释www.contoso.com 将是CNAME for <myapp>.trafficmanager.net。然后当网络应用程序出现时,他们说www.contoso.com 将是网络应用程序的CNAME。他们没有解释两者将如何工作。当我将主机名 www.contoso.com 添加到 Web 应用程序时,它将覆盖流量管理器的 CNAME 记录。所以下次我会点击www.contoso.com,它将转到网络应用程序。交通经理失联了。如果我要为流量管理器添加抢占记录,例如 awverify.www.contoso.com CNAME<myapp>.trafficmanager.net,我应该在浏览器中点击哪个 URL 来访问流量管理器,然后再访问 Web 应用程序?

有人可以帮助这整个过程如何运作吗?

【问题讨论】:

    标签: azure azure-web-app-service azure-traffic-manager


    【解决方案1】:

    本文是为 Web 应用程序配置 自定义域的教程,该应用程序是 由 Azure 流量管理器管理。首先,您应该有一个使用Azure Traffic Manager profile 的网络应用程序。

    他们没有解释两者将如何工作。

    如果www.contoso.com<myapp>.trafficmanager.netCNAME,当你点击www.contoso.com 时,它会首先路由到<myapp>.trafficmanager.net,但最后它会路由到你的网络应用程序,如<yourwebapp>.azurewebsites.net。由于 Web 应用程序配置了流量管理器配置文件,因此将有一个或多个端点可以路由到您的 Web 应用程序。所以很明显www.contoso.com实际上是你的网络应用程序的CNAME,就像<yourwebapp>.azurewebsites.net一样。

    就像:

    www.contoso.com--><myapp>.trafficmanager.net--><yourwebapp>.azurewebsites.net

    如果您的网络应用没有流量管理器,它将是

    www.contoso.com--><yourwebapp>.azurewebsites.net

    当我将主机名 www.contoso.com 添加到 Web 应用程序时,它将覆盖流量管理器的 CNAME 记录。所以下次我会点击www.contoso.com,它将转到网络应用程序。流量管理器失灵了。

    在文章中:

    启用流量管理器

    在您的域名记录传播之后

    正如它所说,您应该为您的自定义域添加 DNS 记录 (www.contoso.com)。因此,如果您点击域,它将路由到<myapp>.trafficmanager.net,然后到<yourwebapp>.azurewebsites.net。 不是www.contoso.com 直接到<yourwebapp>.azurewebsites.net

    如果我要为流量管理器添加抢占记录,例如 awverify.www.contoso.com CNAME 到 <myapp>.trafficmanager.net,我应该在浏览器中点击哪个 URL 来访问流量管理器,然后访问 Web 应用程序?

    creating a CNAME record for your custom domain 之后,我认为你应该点击自定义域。

    【讨论】:

    • 我对此部分感到困惑“正如它所说,您应该为您的自定义域添加 DNS 记录 (www.contoso.com)。因此,如果您点击该域,它将路由到 <myapp>.trafficmanager.net” .这在将 Web 应用程序作为端点添加到 TMP 时有效,因为 <myapp>.trafficmanager.net CNAME 已作为主机名添加到 Web 应用程序中。但是假设我们有 WAF 作为端点,那么我们不会在 webapp 中看到 <myapp>.trafficmanager.net 作为主机名。在这种情况下,如果我将 www.contoso.com 作为 CNAME 添加到 webapp,它将覆盖 TMP CNAME。
    • 我在原帖中添加了截图。如您所见,主机名下有一个流量管理器 CNAME。我最初没有这个,因为我的流量管理器指向应用程序网关。由于它在添加客户域时覆盖了流量管理器的 CNAME,因此我必须将 Web 应用程序作为端点添加到流量管理器以获取该流量管理器 CNAME,然后我才能添加自定义域名。我知道这是不对的,但是应该如何处理呢?
    【解决方案2】:

    对文章中的混淆表示歉意。我们将对其进行更新以使步骤更清晰,但与此同时,希望以下信息对您有所帮助。

    创建 Azure Web 应用时,该应用将拥有自己的 DNS 名称 .azurewebsites.net。如果您有多个 Web 应用程序,每个应用程序都将获得自己的 DNS 名称。我们称它们为端点 DNS 名称。

    Azure 流量管理器可用于引导这些端点之间的流量(例如,您在不同的 Azure 区域拥有网站,并希望将流量发送到用户延迟最低的位置)。为此,您首先创建一个流量管理器配置文件并将这些端点 DNS 名称添加为端点。此流量管理器配置文件还带有自己的 DNS 名称 .trafficmanager.net。当您将网站端点添加到流量管理器配置文件时,该流量管理器 DNS 名称将添加到 Web 应用程序支持的自定义主机名列表中。这意味着,如果有人使用流量管理器 DNS 名称(他们应该使用它来获得流量路由优势)导航到您的网站,网络应用程序将正确响应。

    如果您想在分发给最终用户的 URL 中添加您自己的品牌,您可以使用 www.contoso.com 之类的虚域名并将其托管在 Azure DNS 等 DNS 托管服务中。您需要在此处执行的操作是将 CNAME 记录添加到您的 contoso.com 区域,以将其指向流量管理器 DNS 名称。一个例子是

    www.contoso.com。 60 IN CNAME contosotm.trafficmanager.net。

    执行此操作时,对 www.contoso.com 的任何请求都将被重定向到流量管理器 DNS 名称,然后该名称将选择一个 Web 应用 DNS 名称并将其返回给调用者以进行连接。为了使其正常工作,您需要确保已将 www.contoso.com 添加到每个 Web 应用的自定义域列表中。

    【讨论】:

    • 我最终想通了。但我们的场景有点复杂。我们在 TMP 和 Web 应用程序之间设置了应用程序网关。 Publicip 是 TMP 的端点。根据主机名标头,我们选择后端池。如您所见,我们没有将 TMP 添加到 Web 应用程序自定义域,因此 TMP 的 DNS 名称不会出现在 Web 应用程序的主机名列表中。而且我无法添加自定义域。我通过临时将 Web 应用程序添加到 TMP 端点来解决这个问题,然后使用 TMP 主机名在 Web 应用程序中添加自定义域。
    • 并发布我从 TMP 中删除端点。到目前为止它正在工作。但我知道这不是正确的方法。但是我们该如何处理呢?
    • @john 我很想听听您如何在其中设置 WAF 的更多详细信息。你能单独写一篇文章或问题/答案吗?我有一个类似的设置,我需要实施并且由于网络应用坚持验证自定义域而遇到问题。
    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多