Azure 流量管理器 SSL 设置(非经典)

标签 azure https dns failover azure-traffic-manager

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

foo1.mydomain.com

foo2.mydomain.com

我有两个子域的 A 记录,分别指向各自的 Azure 应用服务 IP 地址。

我还在服务中附加了通配符证书,如果我导航到https://foo1.mydomain.com,一切都会正常工作。或https://foo2.mydomain.com 。流量管理器端点监控显示两个端点均处于在线状态并已启用。

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

当我尝试使用 SSL/TLS 解析个性 URL 时,即 https://foo.mydomain.com ,我收到证书错误,因为流量管理器正在附加 *.azurewebsited.net 证书。如果我尝试在没有 SSL/TLS 的情况下解析虚 URL,即 http://foo.mydomain.com ,我收到 404 和“未找到 Web 应用程序”消息。同样,解析各个端点会按预期显式返回 200。

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

挖掘输出供引用:

my-machine:~ 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

最佳答案

请参阅https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-how-it-works

由于流量管理器在 DNS 级别工作,因此您看到的证书 (*.azurewebsites.net) 必须来自应用服务,而不是来自流量管理器。您需要配置应用服务以使用正确的 SSL 证书。

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

完成此操作后,请将流量管理器重新引入 CNAME 链。

问候,

Jonathan Tuliani,Azure 网络 - DNS 和流量管理器项目经理

关于Azure 流量管理器 SSL 设置(非经典),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38162252/

相关文章:

api - Office365 Sharepoint API 对于联合域失败

Azure 应用服务计划 - 定价模型问题

azure - 如何在 Azure Application Insights 中导出性能数据

go - 如何存储DNS记录(Go权威域名服务器)

github - 如何重置github上的cname?

java - 在 DNS 重定向错误的情况下,发送的正确 HTTP 响应是什么?

angular - 如何按特定顺序运行测试 - Playwright YAML 文件

amazon-web-services - 为域设置 https 的问题。文件在 Amazon Beanstalk 上

html - 如何使用 htaccess 强制使用 http- 而不是 https

facebook - 如果 https 域正在重定向到 http 域。拥有它有什么意义吗?