AWS ALBが無効なヘッダーを削除しない

AWS ALBで、名前が無効なHTTPヘッダーを削除する設定を有効にしてください。

説明

ALBのdrop_invalid_header_fields設定は、ALBで許可されない文字を名前に含むHTTPヘッダーを削除します。そのままバックエンドへ転送すると、構成要素によって解釈が異なる場合があります。

想定される影響

異常なヘッダーがアプリケーションに届くと、リクエスト処理のエラーや解釈の不一致が生じるおそれがあります。

対処方法

drop_invalid_header_fields = trueを設定し、必要なカスタムヘッダーが正常に届くことを確認してください。モジュールを使う場合は、対応する入力値を確認してください。

例

以下は、名前が無効なヘッダーをALBで削除する設定例です。

変更前

hcl
resource "aws_lb" "disabled_1" {
  internal           = false
  load_balancer_type = "application"
  name               = "alb"
  subnets            = module.vpc.public_subnets
}

変更後

hcl
resource "aws_lb" "enabled" {
  internal                   = false
  load_balancer_type         = "application"
  name                       = "alb"
  subnets                    = module.vpc.public_subnets
  drop_invalid_header_fields = true
}

参考資料