コンテンツにスキップ

HTTP Host ヘッダーのオーバーライド

アプリケーションが特別なルーティング(CNAME 設定や Heroku のようなカスタムホスト)を必要とする場合、ヘルスモニターで使用される Host ヘッダーをエンドポイントまたはモニターごとにカスタマイズできます。

エンドポイントごとの Host ヘッダーオーバーライド

複数のホスト間でトラフィックをバランスさせるために、同じプール内の個々のエンドポイントに Host ヘッダーを追加します。

例えば、複数の AppEngine プロジェクトや Amazon S3 バケットにホストされたエンドポイントを持つプールがあるかもしれません。また、プール内に特定のフェイルオーバーエンドポイントを設定したい場合もあります。

これらの例では、エンドポイントごとに特定のホスト名が必要なため、Host ヘッダーオーバーライドがないと、ロードバランサーはトラフィックを正しくルーティングできません。

エンドポイントの Host ヘッダーオーバーライドが必要な場合は、プールを作成または編集する際に追加します。セキュリティ上の理由から、このヘッダーは次のいずれかの基準を満たす必要があります:

  • このアカウントに関連付けられたゾーンのサブドメインである
  • エンドポイントアドレスと一致する
  • 公開でエンドポイントアドレスに解決される

Host ヘッダーの優先順位

個々のエンドポイントにヘッダーオーバーライドを設定した場合、ヘルスモニターリクエスト中にモニターに設定されたヘッダーオーバーライドよりも優先されます。

例えば、次の設定を持つ www.example.com のためのロードバランサーがあるかもしれません:

  • プール:

    • プール 1:

      • エンドポイント 1(Host ヘッダーが lb-app-a.example.com に設定されている)
      • エンドポイント 2
    • プール 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 と互換性のあるカスタムホスト設定を更新する方法についての詳細は、Configure Cloudflare and Heroku over HTTPSを参照してください。

モニターの Host ヘッダーをオーバーライドするエンドポイントのリストを取得するには:

  1. モニターで Edit を選択します。
  2. Advanced health monitor settings を選択します。
  3. エンドポイントオーバーライドがある場合は、Endpoint host header overrides が表示されます。

エンドポイントホストヘッダーオーバーライドの例の設定