我认为我们有一个非常直接的要求,显然事实并非如此:
“根据用户的地理位置将用户重定向到相应的云区域,并将Cloudflare用作域mysubdomain.myparentdomain.com的CDN”进一步简化它,使用美国的云区域基础架构等为来自美国的用户提供服务。现在,我们选择了Azure交通管理器,因为它具有根据地理位置解析DNS的功能。让我们说到目前为止,我们有两个云区域:
由于我们应该将Cloudflare用作CDN,因此这两个区域都在Cloudflare DNS中进行了如下配置:
流量管理器现在配置了两个端点:
在我们的DNS注册服务商(在Cloudflare之外),我们添加了DNS记录来很好地解决我们的服务,如下所示:
**问题场景1:**1.美国用户在浏览器中输入mysubdomain.myparentdomain.com2.浏览器解析为流量管理器记录3.流量管理器将其解析到美国端点4.如上所示,Cloudflare代理了美国端点。它已成功解析为Cloudflare IP地址。5.请求登陆Cloudflare,但主机头仍然是mysubdomain.myparentdomain.com6. 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.com2.浏览器解析为流量管理器记录3.流量管理器将其解析到美国端点4.如上所示,Cloudflare代理了美国端点。它已成功解析为Cloudflare IP地址。5.请求登陆Cloudflare,但主机头仍然是mysubdomain.myparentdomain.com6. Cloudflare尝试在其DNS中找到mysubdomain.myparentdomain.com,并再次将其指向流量管理器DNS。7. Cloudflare进入尝试解决由Cloudflare再次代理的服务的循环。根据Cloudflare支持讨论,这是不可行的。
我看不到如何使之成为可能。有什么建议吗?
之所以来到这里,是因为我对Azure函数有类似的问题。我的设置是这样的:
问题是,一旦我访问了subdomain.domain.com,我就获得了Azure函数404页面。这暗示了流量管理器正在向正确的主机发送流量的问题,但是主机需要由流量管理器传递域名,以便它能够正确处理它。我通过在Azure Traffic Manager端点配置中的自定义标头下以host:subdomain.domain.com
格式指定主机标头来进行存档。我只是在没有天蓝色功能的我的另一个项目中尝试了相同的更改,但是它也起作用了(以前没有)。希望能对某人有所帮助:)