HTTP Host ヘッダーのオーバーライド
アプリケーションが特別なルーティング(CNAME 設定や Heroku のようなカスタムホスト)を必要とする場合、ヘルスモニターで使用される Host ヘッダーをエンドポイントまたはモニターごとにカスタマイズできます。
複数のホスト間でトラフィックをバランスさせるために、同じプール内の個々のエンドポイントに Host ヘッダーを追加します。
例えば、複数の AppEngine プロジェクトや Amazon S3 バケットにホストされたエンドポイントを持つプールがあるかもしれません。また、プール内に特定のフェイルオーバーエンドポイントを設定したい場合もあります。
これらの例では、エンドポイントごとに特定のホスト名が必要なため、Host ヘッダーオーバーライドがないと、ロードバランサーはトラフィックを正しくルーティングできません。
エンドポイントの Host ヘッダーオーバーライドが必要な場合は、プールを作成または編集する際に追加します。セキュリティ上の理由から、このヘッダーは次のいずれかの基準を満たす必要があります:
- このアカウントに関連付けられたゾーンのサブドメインである
- エンドポイントアドレスと一致する
- 公開でエンドポイントアドレスに解決される
個々のエンドポイントにヘッダーオーバーライドを設定した場合、ヘルスモニターリクエスト中にモニターに設定されたヘッダーオーバーライドよりも優先されます。
例えば、次の設定を持つ 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 と互換性のあるカスタムホスト設定を更新する方法についての詳細は、Configure Cloudflare and Heroku over HTTPSを参照してください。
モニターの Host ヘッダーをオーバーライドするエンドポイントのリストを取得するには:
- モニターで Edit を選択します。
- Advanced health monitor settings を選択します。
- エンドポイントオーバーライドがある場合は、Endpoint host header overrides が表示されます。
