配置 Azure 流量管理器以使用 HTTPS

Configuring Azure Traffic Manager to work with HTTPS

我创建了一个 Azure 应用服务,可以在 http://foo.azurewebsites.net and https://foo.azurewebsites.net 访问它。我只使用 HTTPS,但还没有禁用另一个(还)。

然后我配置流量管理器,并将其添加为唯一端点(目前)。

我通过 http://foo.trafficmanager.net and it works. But if I try and query against https://foo.trafficmanager.net 执行我的 API,然后我收到一个 SSL 错误:

那么,我需要单独的 SSL 证书才能与 TrafficManager 一起使用吗?我使用的是 foo.azurewebsites.net 附带的默认设置,开箱即用。

嗯,您没有获得流量管理器的 TLS 证书。您必须在 Web 应用程序本身中获得证书,这并不完全取决于您。

Web 应用程序为您提供 *.azurewebsites.net 域的证书,但是对于流量管理器,您需要使用自定义域名 + TLS 证书,它安装在流量管理器后面的每个 Web 应用程序中。

如果您在流量管理器和您的应用之间有一个 CDN,您需要一些额外的步骤:

  1. 将流量管理器直接指向您的应用程序(创建目标为 myappname.azurewebsites.net 的 TM 端点,暂时绕过 CDN)。这将导致流量管理器创建一个从它自己的 url 到您站点的 url 的 CNAME,证明您拥有流量管理器子域并允许 Azure 在步骤 2 中为您的应用验证它。

  2. 将您的 mytfprofilename.trafficmanager.net url 添加为您应用的自定义域。除非完成第 1 步,否则 Azure 不会让您执行此操作。

  1. 将您的自定义域添加到 CDN 本身并创建证书。您可以使用自己的证书或使用 Azure 管理的证书。

  2. 将流量管理器指向您的 CDN。

您现在可以使用免费的 App Service Managed Certificate 来确保您的流量管理器端点安全。

步骤 1 - 创建应用服务托管证书。
1. 从应用服务的 TLS/SSL 设置菜单项中,单击“私钥证书”选项卡。
2、右边blade,会自动检测流量管理端点。 Select 然后点击创建。

步骤 2 添加 TLS/SSL 绑定
现在我们有了证书,让我们添加一个绑定以便使用它。
1. 点击添加 TLS/SSL 绑定。
2. Select 自定义域下拉列表中的流量管理端点。
3. Select 指纹下拉列表中新创建的证书。
4. 类型下拉列表中的 SIN SSL。
5. 单击添加绑定。

第 3 步 - 确保域现在选择 SSL
在您的应用服务的自定义域菜单项中,您应该在完成绑定后看到流量管理器终结点的安全 SSL 状态(之前它应该是一个红叉)。

注意:每个证书的有效期为六个月,在证书到期前一个月左右,应用服务会更新证书。 [1]

其他学分:this Azure feedback post 的评论中找到了这种方法。无需 PowerShell 脚本 - 一切都可以通过 Azure 门户完成。