Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Azure load balancer support HTTP/2?

Azure Web Apps currently doesn't suppport HTTP/2: https://feedback.azure.com/forums/169385-web-apps/suggestions/9552936-enable-http-2-on-azure-web-apps.

What about VMs? If have an Ubuntu VM running nginx > 1.9.5, I could use HTTP/2.

But how will the Azure load balancer and https endpoint behave?

like image 570
zar Avatar asked Nov 20 '25 05:11

zar


2 Answers

Load Balancer is protocol agnostic and will pass through any TCP or UDP application, and this includes HTTP/2.

(I'm product manager for Azure Load Balancer).

like image 190
ckuhtz Avatar answered Nov 22 '25 20:11

ckuhtz


2018 answer: yes, using Application Gateway (which runs on top of Azure Load Balancer).

Application Gateway runs on top of the Azure Load Balancer and adds Layer 7 HTTP routing capability

From the Azure Application Gateway docs:

Q. What is Application Gateway?

Azure Application Gateway is an Application Delivery Controller (ADC) as a service, offering various layer 7 load balancing capabilities for your applications. It offers highly available and scalable service, which is fully managed by Azure.

Q. How does Application Gateway support HTTP/2?

HTTP/2 protocol support is available to clients connecting to Application Gateway listeners only. The communication to backend server pools is over HTTP/1.1.

By default, HTTP/2 support is disabled. The following Azure PowerShell code snippet example shows how you can enable it:

$gw = Get-AzureRmApplicationGateway -Name test -ResourceGroupName hm
$gw.EnableHttp2 = $true
Set-AzureRmApplicationGateway -ApplicationGateway $gw

So in your specific case, you'd use HTTP/2 between the load balancer and customers, and HTTP/1.1 between the load balancr and your VMs.

like image 45
mikemaccana Avatar answered Nov 22 '25 21:11

mikemaccana