I have a Ruby on Rails App hosted on AWS using Elastic-beanstalk which works with HTTP 1 now I want to use HTTP 2. Can someone suggest me the best approach
1 Answers
If I remember correctly when you add a new load balancer to your Elastic Beanstalk environment, it defaults to using a Classic Load Balancer
, which doesn't support HTTP/2
, I think the solution would be using an Application Load Balancer
that does support it, you can find this info here. You can also specify it while creating your environment as you can see here. This will only allow HTTP/2
communication between the client and the ALB
, your ALB
will convert those HTTP/2
requests into HTTP/1.1
to communicate with your instance.
As seen here: "If end-to-end HTTP/2 is a requirement for your application you can use a Layer 4 ELB ( Classic Load Balancer with TCP listener or Network Load Balancer). If you are interested also in SSL offloading the only option for now is Classic Load Balancer with an SSL listener."