We have installed HAProxy 1.8.1.1 on our LB-cluster.
And we enabled alpn h2,http/1.1 with great success. Requests were going in as h2, all is well.
Only problem was, that in Chrome and FireFox, some requests also started to behave badly.
Now, I know ASP.NET WebForms is old and everything, but that system was started as that, and we’re slowly converting it to MVC and React.
Anyway… Sometimes, when we use “UpdatePanels” (ajax panels more or less), the requests stall, forever.
But as soon as we turn off h2, it all works perfectly again.
We’re running in http mode, since we are offloading SSL on HAProxy and have only http/1.1 backends (or else we would have to setup redundant certificates on all backend servers).
And we really don’t want to switch to tcp mode, since we want all the logs.
Has anyone else noticed that there’s trouble with ajax/postbacks (or any requests) while running in h2-mode?
HA-Proxy version 1.8.1-1 2017/12/03
Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>
Build options :
TARGET = linux2628
CPU = generic
CC = gcc
CFLAGS = -g -O2 -fdebug-prefix-map=/build/haproxy-1.8.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2
OPTIONS = USE_GETADDRINFO=1 USE_ZLIB=1 USE_REGPARM=1 USE_OPENSSL=1 USE_LUA=1 USE_SYSTEMD=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_NS=1
Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200
Built with OpenSSL version : OpenSSL 1.1.0g 2 Nov 2017
Running on OpenSSL version : OpenSSL 1.1.0f 25 May 2017
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2
Built with Lua version : Lua 5.3.3
Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND
Encrypted password support via crypt(3): yes
Built with multi-threading support.
Built with PCRE version : 8.39 2016-06-14
Running on PCRE version : 8.39 2016-06-14
PCRE library supports JIT : yes
Built with zlib version : 1.2.8
Running on zlib version : 1.2.8
Compression algorithms supported : identity("identity"), deflate("deflate"), raw-deflate("deflate"), gzip("gzip")
Built with network namespace support.
Available polling systems :
epoll : pref=300, test result OK
poll : pref=200, test result OK
select : pref=150, test result OK
Total: 3 (3 usable), will use epoll.
Available filters :
[SPOE] spoe
[COMP] compression
[TRACE] trace