Reputation: 16226
AWS's older 'Classic' load balancers have the ability to set a proxy protocol policy, which adds the external IP address of a request to a HTTP header for the internal requests.
AWS's newer Application Load Balancers don't seem to have this same functionality. Is this correct, or is it something that can be enabled?
And if it's not an option, then is reverting to a classic load balancer recommended? I feel that there's a push to use the newer load balancer types, so it doesn't feel wise to get so attached to the classic approach.
Upvotes: 16
Views: 14420
Reputation: 6089
The Proxy Protocol header helps you identify the IP address of a client when you have a load balancer that uses TCP for back-end connections.
Proxy Protocol works in L4 (TCP) and Application Load Balancer only works on L7. ALB only supports HTTP/ HTTPs Listeners.
That's the reason Proxy Protocol is present in Classic ELB, but not in ALB.
Regarding the second question what load balancer to use this depends on scenario what you are using it for , you can read this thread that will enlighten you on up gradation of each CLB to NLB/ALB.
Hope this helps !
Upvotes: 16