- Newest
- Most votes
- Most comments
The Application Load Balancer is fundamentally designed to be a transparent Layer 7 proxy — its main purpose is:
- Forward traffic, not filter
- Compliant with apps using custom or non-standard headers
- Terminate HTTP/S
- Route requests to targets based on rules (host, path, header, etc.)
- Preserve original request as possible
This permissiveness is deliberate to maintain maximum application compatibility.
Shield stops infrastructure-level attacks before they hit your ALB — but it does not inspect the HTTP content or headers.
You can enable the setting on the ALB to drop Invalid Headers even without WAF. The attribute has FALSE as its default value. Its limited as it only covers this:
Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true), or routed to targets (false). The default is false. Elastic Load Balancing requires that valid HTTP header names conform to the regular expression [-A-Za-z0-9]+, as described in the HTTP Field Name Registry. Each name consists of alphanumeric characters or hyphens. Select true if you want HTTP headers that do not conform to this pattern, to be removed from requests.
https://repost.aws/knowledge-center/elb-alb-drop-not-valid-headers
I'll try this and see if it helps, thanks.
Relevant content
asked 2 months ago
- AWS OFFICIALUpdated 9 months ago

WAF would've helped, but the WAF pricing model raises the question whether security is being treated as an upsell rather than a baseline expectation. The former seems to be the case with AWS, which is disappointing.