跳到内容
观澜涉川 · 札记EN

Azure实战:在 Front Door 中配置路由

· 约 2 分钟阅读

Azure Front Door 是 Azure 云平台提供的 CDN 服务。在 Front Door 中配置路由,即将其作为反向代理使用,应该能满足绝大部分的需求。本文分享一些实战经验。

配置路由的几个要素

在 Front Door 中配置路由时候,其实主要配置如下的资源:

  • 自定义域名(Custom Domain)。包括域名验证,配置 SSL 证书。这个域名指的是用户请求中的域名。
  • 源(Origin)。即后端服务的地址。
  • 源组(Origin Group)。将一个或者多个源组成一个源组。通常多个源是同一个服务区的多个实例。还包括健康探针(Health Probe)的配置。
  • 路由(Route)。建议自定义域名与源组的映射关系。在建立映射时,还可以加入路径模式等约束。
  • 规则(Rule)和规则组(Rule set)。可实现URL重写等规则。

配置 HTTPS 源的注意事项

在实际使用中,当源(Origin)是 HTTPS 站点时,它似乎无法“自然”地处理 SNI。

当 Front Door 在与源建立 SSL 连接时,并不会将用户请求中的域名发送给源,而是使用源的域名建立SSL连接。即便是设置 Origin Host Header 也无济于事,因为 Origin Host Header 属于 HTTP 协议中的一部分,是在建立了 SSL 连接之后才进行解析的。

这同样也影响到到了健康探针。当配置好了健康探针后,发送给源的健康探针请求使用的是源的域名。

在未验证自定义域名时测试路由配置

在某些情况下,尤其是迁移服务时,可能期望将域名切换到Front Door之前进行测试。为此,可先在Front Door上验证域名,但不更新域名的DNS记录,然后进行各种验证测试。可参考 《测试已启用 HTTPS 但尚未配置域名的站点》 一文。

使用 Front Door 的日志排查问题

Front Door 提供了访问日志用于排查问题,配置方式见《Configure Azure Front Door logs》。开启之后,可通过查询检索日志:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"