On Thu, Jan 21, 2021 at 11:09:33PM +0100, Aleksandar Lazic wrote: > On 21.01.21 21:57, Christopher Faulet wrote: > > Le 21/01/2021 à 21:19, Aleksandar Lazic a écrit : > >> Hi. > >> > >> I'm not sure if I have missed something, because there are so many great > >> features > >> now in HAProxy, therefore I just ask here. > >> > >> Is the rfc8441 (Bootstrapping WebSockets with HTTP/2) possible in HAProxy > >> now? > >> > > > > Hi, > > > > It is not possible right now. But it will be very very soon. Amaury > > implemented the > > H2 websocket support and it works pretty well. Unfortunately, this relies > > on some > > tricky fixes on the tunnel management that must be carefully reviewed. It > > is a > > nightmare to support all tunnel combinations. But I've almost done the > > review. I > > must split a huge patch in 2 or 3 smaller and more manageable ones. I'm on > > it and I > > will do my best to push it very soon. Anyway, it will be a feature for the > > 2.4. > > Wow that sounds really great. Thank you for your answer.
And by the way initially we thought we'd backport Amaury's work to 2.3, but give the dependency with the tunnel stuff that opened this pandora box, now I'm pretty sure we won't :-) One nice point is that he managed to natively support the WS handshake, it's not just a blind tunnel anymore, so that it's possible to have WS using either H1 or H2 on the frontend, and either H1 or H2 on the backend. Now we're really seeing the benefits of HTX because while at each extremity we have a very specific WS handshake, in the middle we just have a tunnel using a WS protocol, which allows a CONNECT on one side to become a GET on the other side. As Christopher said, the tunnel changes are extremely complicated because these uncovered some old limitations at various levels, and each time we reviewed the pending changes we could imagine a situation where an odd use case would break if we don't recursively go into another round of refactoring at yet another deeper level. But we're on the right track now, things start to look good. Cheers, Willy

