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