带有Cloudflare CDN的Azure Traffic Manager

时间:2019-08-27 20:42:34

标签: azure dns cloudflare azure-traffic-manager

我认为我们有一个非常直接的要求,显然事实并非如此:

“根据用户的地理位置将其重定向到相应的云区域,并将Cloudflare用作域mysubdomain.myparentdomain.com的CDN”

进一步简化它,使用美国的云区域基础架构等为来自美国的用户提供服务。现在,我们选择了Azure交通管理器,因为它具有根据地理位置解析DNS的功能。

让我们说到目前为止,我们有两个云区域:

  • DNS名为us.cloudapp.azure.com的美国地区
  • DNS名为eu.cloudapp.azure.com的欧盟区域

由于我们应该将Cloudflare用作CDN,因此这两个区域都在Cloudflare DNS中进行了如下配置:

  • endpoint1.mysubdomain.myparentdomain.com是的别名 us.cloudapp.azure.com(用于美国服务和基础架构)
  • endpoint2.mysubdomain.myparentdomain.com是的别名 eu.cloudapp.azure.com(用于欧盟服务和基础设施)

Traffic Manager现在配置了两个端点:

  • endpoint1.mysubdomain.myparentdomain.com用于美国流量
  • endpoint2.mysubdomain.myparentdomain.com用于欧盟流量

在我们的DNS注册服务商(位于Cloudflare之外)中,我们添加了DNS记录来很好地解决我们的服务,如下所示:

  • mysubdomain.myparentdomain.com是的别名 my-tm-profile.trafficmanager.net(指向DNS的实际服务 流量管理器的名称)

**问题场景1:**

    1.美国用户在浏览器中输入mysubdomain.myparentdomain.com
    2.浏览器解析为流量管理器记录
    3.交通管理器将其解析到美国终结点
    4.如上所示,Cloudflare代理了美国端点。已成功将其解析为Cloudflare IP地址。
    5.请求在Cloudflare中着陆,但主机标头仍然是mysubdomain.myparentdomain.com
    6. Cloudflare尝试在其DNS中找到mysubdomain.myparentdomain.com,但未找到任何内容。
    7. Cloudflare引发错误,指出原始DNS不可用。

问题场景2:

要解决问题1,请按照以下说明在Cloudflare DNS中创建mysubdomain.myparentdomain.com DNS记录:

mysubdomain.myparentdomain.com是my-tm-profile.trafficmanager.net(指向流量管理器的DNS名称的实际服务)的别名。

    1.美国用户在浏览器中输入mysubdomain.myparentdomain.com
    2.浏览器解析为流量管理器记录
    3.交通管理器将其解析到美国终结点
    4.如上所示,Cloudflare代理了美国端点。已成功将其解析为Cloudflare IP地址。
    5.请求在Cloudflare中着陆,但主机标头仍然是mysubdomain.myparentdomain.com
    6. Cloudflare尝试在其DNS中找到mysubdomain.myparentdomain.com,并再次将其指向流量管理器DNS。
    7. Cloudflare进入尝试解决由Cloudflare再次代理的服务的循环。根据Cloudflare支持的讨论,这是不可行的。

我看不到如何做到这一点。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我之所以来到这里,是因为我对Azure函数有类似的问题。我的设置是这样的:

  • Cloudflare subdomain.domain.com的名称为流量管理器域
  • 流量管理器设置有2个端点
  • 每个终结点(azure功能)都将subdomain.domain.com设置为自定义域,因此当具有该域的请求生效时,他们将知道如何正确处理请求。这与原始问题稍有不同,在原始问题中,幕后有子域,但对于用户而言,没关系。

问题是,一旦我访问了subdomain.domain.com,我就获得了Azure函数404页面。这暗示了流量管理器正在向正确的主机发送流量的问题,但是主机需要由流量管理器传递域名,以便它能够正确处理它。我通过以格式host:subdomain.domain.com在Azure Traffic Manager端点配置中的自定义标头下指定主机标头来进行存档。我只是在没有天蓝色功能的我的另一个项目中尝试了相同的更改,但是它也起作用了(以前没有)。希望能对某人有所帮助:)