当您的应用需要专门的路由(CNAME 设置或 Heroku 等自定义主机)时,可以在每个端点或每个监视器级别自定义健康监视器中使用的 Host 标头。
要在多个主机之间均衡流量,请在同一池内的各个端点上添加 Host 标头。
例如,您可能在多个 AppEngine 项目或 Amazon S3 bucket 中托管端点。您也可能想在池内设置特定的故障转移端点。
由于这些示例需要每个端点特定的主机名,如果没有 Host 标头覆盖,负载均衡器将无法正确路由流量。
如果您需要端点 Host 标头覆盖,请在创建或编辑池时添加。出于安全原因,此标头必须满足以下标准之一:
- 是与此账户关联的 zone 的子域
- 与端点地址匹配
- 公开解析到端点地址
如果您在单个端点上设置标头覆盖,它将在健康监视器请求期间优先于在监视器上设置的标头覆盖。
例如,您可能有一个 www.example.com 的负载均衡器,配置如下:
-
池:
-
池 1:
- 端点 1(
Host标头设置为lb-app-a.example.com) - 端点 2
- 端点 1(
-
池 2:
- 端点 3
- 端点 4(
Host标头设置为lb-app-b.example.com)
-
-
监视器(
Host标头设置为www.example.com)
在此场景中,端点 1 的健康监视器请求将使用 lb-app-a.example.com,端点 4 的健康监视器请求将使用 lb-app-b.example.com,所有其他健康监视器请求将默认为 www.example.com。有关更新自定义主机配置以与 Cloudflare 兼容的更多信息,请参阅通过 HTTPS 配置 Cloudflare 和 Heroku。
要获取覆盖监视器 Host 标头的端点列表:
- 在监视器上,选择 Edit(编辑)。
- 选择 Advanced health monitor settings(高级健康监视器设置)。
- 如果您有端点覆盖,您将看到 Endpoint host header overrides(端点主机标头覆盖)。
