Technically Feasible

We're http/2 and ipv6 compatible!

Likeness of Michael Oldroyd
Michael Oldroyd
⚠️ This content was imported from a previous incarnation of this blog, and may contain formatting errors

Well, it seems that way anyway. Unfortunately both my residential broadband and mobile connections lack ipv6 connectivity, so I'm relying on the Qualys SSL Test and various other on-line tools to assure me of the ipv6 compatibility. http/2 was easy to test; firefox developer tools tells you which protocol was used for each downloaded asset. Please let me know if I have gotten something obviously wrong!

Enabling http/2 #

Enabling http/2 was quite simple, given that I recently upgraded to Debian 9 and Apache 2.4. I've got both apache and nginx in use in different debian-based environments. I managed to add AAAA records to the relevant domains, and add the necessary http/2 configuration changes on the morning commute. Obviously the main prerequisite to doing so is having your web server configured for TLS connectivity (h2 requires TLS). For my sites, I have chosen to deploy Let's Encrypt X3 signed certificates. I migrated this blog after the controversy with Startcom's offering.

Apache 2.4 #

For Apache, it was a case of enabling the mod_http2 and adding a line of configuration;

$ a2enmod http2
$ service apache2 restart
<VirtualHost localhost:443>
  Protocols h2 http/1.1

Nginx 1.10 #

It's even easier with nginx; the web server already has the http/2 support module included. You simply have to have a TLS-enabled virtualhost, and add the following;

listen 443 ssl http2;
listen [::]:443 ssl http2;

I've not yet experimented with h2c for the TLS redirections on port 80 with either environment. That's a job for another day 😁. It's been a while since I posted here — a very long while. I've been concentrating on honing my craft and continuous improvement. I hope to start sharing some of my learning here once again.

Image of me

Michael Oldroyd

Michael is a Software Engineer working in the North West of England. Michael spends his days building hand-crafted PHP applications. Rumours of his super-hero status are currently unconfirmed. He savours his victories when solving difficult programming challenges; occasionally writing about them here, on his personal blog.