バックエンド サービスでカスタム ヘッダーを作成する

このページでは、従来のアプリケーション ロードバランサで使用されるバックエンド サービスでカスタム ヘッダーを構成する方法について説明します。

カスタム リクエスト ヘッダーとカスタム レスポンス ヘッダーを使用すると、ロードバランサが HTTP(S) のリクエストとレスポンスに追加できる追加のヘッダーを指定できます。ロードバランサで検出された情報に応じて、これらのヘッダーには次の情報が含まれます。

  • クライアントまでのレイテンシ
  • クライアントの IP アドレスの地理的位置
  • TLS 接続のパラメータ

カスタム リクエスト ヘッダーはバックエンド サービスでサポートされていますが、カスタム レスポンス ヘッダーはバックエンド サービスとバックエンド バケットでサポートされています。

ロードバランサは、バックエンドとクライアントの間でプロキシするすべての HTTP(S) リクエストとレスポンスに、デフォルトで特定のヘッダーを追加します。詳細については、ターゲット プロキシをご覧ください。

始める前に

  • 必要に応じて、次のコマンドで Google Cloud CLI を最新バージョンに更新します。

    gcloud components update
    

カスタム ヘッダーの動作

カスタム ヘッダーは次のように動作します。

  • ロードバランサがバックエンドにリクエストを転送する、ロードバランサはリクエスト ヘッダーを追加します。

    ロードバランサは、カスタム リクエスト ヘッダーをクライアント リクエストにのみ追加します。ヘルスチェック プローブには追加しません。バックエンドで認可に特定のヘッダーが必要であり、ヘルスチェック パケットにヘッダーが含まれていない場合、ヘルスチェックが失敗する可能性があります。

  • ロードバランサはレスポンス ヘッダーを設定してから、クライアントにレスポンスを返します。

カスタム ヘッダーを有効にするには、バックエンド サービスまたはバックエンド バケットのプロパティにヘッダーのリストを指定します。

各ヘッダーを header-name:header-value 文字列として指定します。ヘッダーには、ヘッダー名とヘッダー値を区切るコロンを含める必要があります。

ヘッダー名は次の要件を満たす必要があります。

  • ヘッダー名は、有効な HTTP ヘッダー フィールド名の定義でなければなりません(RFC 7230 を遵守)。
  • ヘッダー名を X-User-IP または CDN-Loop にすることはできません。
  • ホップバイホップ ヘッダーである Keep-AliveTransfer-Encoding