I'm trying to configure a load balancer between 2 servers with HAPoxy, this is my configuration:

frontend haproxynode
    bind *:443 ssl crt /etc/ssl/private/isel.pem alpn h2,http/1.1
    mode tcp
    default_backend backendnodes
 backend backendnodes
    balance roundrobin
    option forwardfor
    server node1 check
    server node2 check

This is my network:


I'm running a word press server in both server VM's. And I'm using h2load to do the benchmarking. When I use the command h2load -n 30 -c 30 I get this:

enter image description here

As you can see the application protocol is h2, but in WireShark the requests appear as HTTP 1.1, why?

enter image description here


Are you sure that your servers are supporting http/2 without encryption ?

Try this:

backend servers
   mode http
   server S1 XXX.XXX.XXX:80 proto h2
   server S2 XXX.XXX.XXX:80 proto h2

If you have encryption enabled try this:

backend servers
   mode http
   server S1 XXX.XXX.XXX:443 ssl alpn h2
   server S2 XXX.XXX.XXX:443 ssl alpn h2
  • The server software might support unencrypted http/2 but it's often not enabled by default. E.g. Apache needs Protocols h2c http/1.1 and nginx needs listen 80 http2; – cg909 Apr 21 at 1:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.