AWS Application Load Balancer transforms all headers to lower case

It is an expected function of the ALB because HTTP/2 lowercases all headers and ALBs support HTTP/2. Unfortunately you can't modify how the headers are manipulated by the ALB.

Update: See the comments below. My statement that the ALB lowercases the request headers due to its support for HTTP/2 may not be accurate.


This was causing our broken clients to fail when we switched from TCP ELB to HTTPS ELB.

While we fix our clients, we temporarily disabled the new ELB HTTP/2 support, which comes enabled by default.

Disable HTTP/2 in the load balancer attributes