2016-07-02 33 views
0

我有一个Azure API应用服务,我想要配置“优先级”流量管理(这是新的流量管理器,而不是经典)。我已将该服务部署到两个独立的Azure区域,并配置Traffic Manager实例以执行对这两个服务实例的优先路由。该服务具有以下自定义域的配置:Azure流量管理器SSL设置(不经典)

foo1.mydomain.com

foo2.mydomain.com

我有一种子域都在各自的Azure的应用程序服务的IP地址指向的记录。

我还附加了通配符证书的服务和一切工作很好,如果我导航到https://foo1.mydomain.comhttps://foo2.mydomain.com。流量管理器端点监视将两个端点显示为联机并启用。

现在,我想让客户端向虚拟端点发出请求:foo.mydomain.com,我为其创建了一个CNAME。 CNAME指向流量管理器实例URL myapi.trafficmanager.net。

当我尝试使用SSL/TLS(即https://foo.mydomain.com)解析虚荣URL时,由于流量管理器正在附加* .azurewebsited.net证书,因此我收到证书错误。如果我尝试解析没有SSL/TLS的虚荣URL,即http://foo.mydomain.com,我会收到404和“未找到Web应用程序”消息。同样,解决个人终点明确返回200预期。

我的问题:如何正确配置Azure流量管理器,以使用我的SSL/TLS证书和虚荣URL为两个自定义域名执行优先级路由?

挖输出以供参考:

Justins-Laptop:~ jtw$ dig foo.mydomain.com 

; <<>> DiG 9.8.3-P1 <<>> foo.mydomain.com 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4088 
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 

;; QUESTION SECTION: 
;foo.mydomain.com.  IN A 

;; ANSWER SECTION: 
foo.mydomain.com. 299 IN CNAME myapi.trafficmanager.net. 
myapi.trafficmanager.net. 299 IN CNAME foo1.mydomain.com. 
foo1.mydomain.com. 299 IN A 192.168.1.1 //the actual IP of my first priority endpoint is returned here 

;; Query time: 369 msec 
;; SERVER: 8.8.8.8#53(8.8.8.8) 
;; WHEN: Sun Jul 3 11:13:59 2016 
;; MSG SIZE rcvd: 112 

回答

6

请参阅https://azure.microsoft.com/en-gb/documentation/articles/traffic-manager-how-traffic-manager-works/

由于流量管理器的工作原理在DNS级别,从流量管理器,你所看到的证书(* .azurewebsites.net)必须从App服务来了,不是。您需要将您的App Service配置为使用正确的SSL证书。

我建议您尝试在没有流量管理器的情况下使所有工作都正常进行,并将您的虚荣域foo.mydomain.com设置为您的端点之一(foo1.mydomain.com)的CNAME。然后切换CNAME指向另一个端点(foo2.mydomain.com),并再次确保一切正常。由于此时的任何问题都无法涉及流量管理器,因此它们更易于调试。

一旦你有这个工作,然后重新引入流量管理器到CNAME链。

问候,

乔纳森Tuliani,项目经理,Azure的网络 - DNS和流量管理器

+1

谢谢乔纳森。这让我朝着正确的方向前进。我没有意识到我需要分配虚名域名,并将证书绑定到两个端点上的虚名域。一旦我做到了,一切都按预期工作。 –

+0

不客气!请投票,让其他人可以看到......谢谢。很高兴它现在为你工作。 –

0

流量管理器没有安装任何东西,因为它不是一个Web服务器,这是一个只是一个聪明高于您的平均熊的域名服务器。

重新定义你的流量管理的端点为:

foo.domain.com 
bar.domain.com 

相反.azurewebsites.net域。

+0

您是否指交通管理器“经典”?我知道Traffic Manager实际上只是一个DNS组件,我的问题是新的Traffic Manager似乎不支持可解析为许多底层SSL/TLS端点之一的虚拟入口点。 –

+0

当前流量管理器(ARM或ASM)不能位于根级域(@)'domain.com'后面。您需要改为执行'something.domain.com'。但是你提到__vanity__域名和'foo.mydomain.com',所以如果后者是正确的,你不会受到这个限制。 – evilSnobu

+0

只是为了清楚起见,用'dig your.public-facing-domain.com'的输出来修改你的问题,并修改你认为有必要的任何东西。如果您没有Linux系统,您可以使用http://digwebinterface.com。 – evilSnobu

1

虚荣域名需要分配给每个端点应用的服务和证书必须被绑定到个人终点即foo1和foo2以及虚荣终点。 您需要将证书绑定到将用作端点的所有应用程序服务中的虚拟域。

的DNS配置需要如下:

的一种用于每个应用服务端点域记录,指向由天青该应用服务分配的IP地址。

从虚名域指向* .trafficmanager.net域的CNAME。

相关问题