Bobcares

Setting up AWS for HTTP/2 support

by | Jul 29, 2016

As per recent statistics, websites adopting HTTP/2 protocol are rapidly increasing and around 68% of HTTPS traffic is now attributed to HTTP/2.

HTTP/2 uses techniques to minimize the number of connections and proactively serve page resources to improve site speed and performance.

 

HTTP/2 is faster than HTTP/1

HTTP/2 is faster than HTTP/1

 

But many customers who have their websites setup in AWS are stuck without being able to use HTTP/2, as its still not supported by default in AWS products.

Out of the different AWS products available, three commonly used ones are EC2, ELB and Cloudfront. We’ll see how to enable HTTP/2 support in them.

1. HTTP/2 support in AWS Cloudfront

Cloudfront is an AWS product which is aimed at speeding up the web site contents – html, images, media files – etc., to the end users. Cloudfront started supporting HTTP/2 now.

Enabling HTTP/2 for an existing CloudFront distribution can be done from the CloudFront Console. Identify the distribution, and click on Edit.

Update the ‘Supported HTTP Versions’ to include HTTP/2 support. This will enable HTTP/2 support for your Cloudfront instance when you access it with supported browsers.

2. HTTP/2 support in AWS ELB

ELB (Elastic Load Balancing) is a load balancer provided by AWS. Clients connect to the ELB, which distributes the traffic across multiple EC2 instances.

In ELB, there are processes known as ‘listeners’, that check for connection requests to the load balancer. It supports two types of protocols – TCP/SSL and HTTP/HTTPS.

Listener has a front-end port to accept connections from users to the load balancer and a back-end port to redirect the traffic to the back-end server.

 

AWS ELB architecture

AWS ELB architecture

 

ELB do not support HTTP/2 by default. But a work around is possible by configuring ELB with the TCP/SSL protocol and using NginX as the web server.

When TCP protocol is configured, the front-end load balancer in TCP mode, simply forwards the request to the back-end server without any header modification.

The ELB listener should be configured to allow TCP to listen to port 443 instead of HTTPS:

Load Balancer Protocol = TCP
Load Balancer Port = 443
Instance Protocol = TCP
Instance Port = 443

TCP protocol do not support cookies. This leads to session breakages and is hence not recommended for websites that require session stickiness, such as e-commerce or banking.

Read: How to setup secure WordPress hosting in AWS

3. HTTP/2 support in AWS EC2

EC2 refers to the Amazon webservers, that are used to host user websites. One of its major drawbacks is the lack of support for HTTP/2 by default.

As per the update from the AWS team, they are working on this feature but no ETA is mentioned. Users would have to keep waiting for an update from them.

Read:  How to fix AWS WordPress update failures

In short..

Owing to its improved speed and performance compared to HTTP/1, HTTP/2 is fast gaining popularity among web users.

Not having HTTP/2 support by default in AWS can be a matter of concern for many. Here we discussed how HTTP/2 can be configured in AWS products.

For HTTP/2 to work, the web browsers and sites should support HTTPS (secure TLS) connections. The browser settings would have to be verified to confirm that.

Bobcares helps online businesses of all sizes achieve world-class security and uptime, using tried and tested solutions. If you’d like to know how to make your server infrastructure more efficient, we’d be happy to talk to you.

 

  var google_conversion_label = "owonCMyG5nEQ0aD71QM";

Get a FREE consultation

Do you spend all day answering technical support queries?

Wish you had more time to focus on your business? Let us help you.

We free up your time by taking care of your customers and servers. Our engineers monitor your servers 24/7, and support your customers over help desk, live chat and phone.

Talk to our technical support specialist today to know how we can keep your service top notch!

TALK TO AN EXPERT NOW!


Bobcares provides Outsourced Hosting Support for online businesses. Our services include Outsourced Web Hosting Support, Outsourced Server Support, Outsourced Help Desk Support, Outsourced Live Chat Support and Phone Support Services.

1 Comment

  1. George Embrey

    Debian Testing works correctly from a fresh install after enabling http2 (a2enmod http2).

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF