HTTP2 over AWS ELB under TCP Mode
Asked Answered
C

3

22

Does anyone have the experience using HTTP2 server behind AWS ELB running in TCP Mode?

As I know, AWS ELB does not support HTTP2 now, however, by using TCP mode, it should pass the request to the backend server transparently.

Does someone have the experience for sharing?

Thank you.

Crocoite answered 3/12, 2015 at 3:11 Comment(4)
with this, don't stick on ELB. Try nginx, it supports http/2.Antler
@Antler Thanks for reply. It's workable for us using nginx to support http/2. We just want to try ELB for this scenario. Anyway, thanks for replying.Crocoite
Stack Overflow is perhaps not best characterized as a place to "share experiences." We try to focus on specific answers to specific questions, so it might be best to just give it a shot and then come back here (or to serverfault.com) with specific issues you encounter. I don't see why in TCP mode it wouldn't work, though of course requests from a single browser would not be "balanced" among back-ends, they'd all go to one as long as the connection lives. You'd need to support the Proxy protocol on your back-end, and enable it on ELB, so you'd know the IP of each client, of course.Steiermark
@Michael-sqlbot got it. Thanks.Crocoite
S
9

Yes, TCP port 443 works to bypass ELB's HTTPS, but there's no way to do session stickiness since ELB can't read the cookies over the wire.

You may also consider using h2c (HTTP/2 over cleartext).

Saeger answered 21/1, 2016 at 6:37 Comment(2)
Excellent answer; thanks for saving tons of time @jayenPrato
Classic ELB doesn't do ALPN negotiate required for H2.Osteomalacia
N
2

Supposedly the new Application Load Balancer supports HTTP/2. I'm a little unclear whether it's useful, however, if CloudFront doesn't support it yet: https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/

Nameless answered 31/8, 2016 at 0:29 Comment(2)
It does now: aws.amazon.com/about-aws/whats-new/2016/09/…Postlude
it DOES NOT support HTTP/2 to the origin server - only to the clients.Panhellenic
D
0

ELB has no way of pipelining connections. Therefore you cannot trick it into do http2. Maybe with the new version coming out, but not sure.

Demulsify answered 16/8, 2016 at 14:1 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.