[Libwebsockets] Missing LWS_CALLBACK_HTTP_BODY_COMPLETION when using H2 https
Søren Holm
sgh at sgh.dk
Wed Nov 17 13:28:00 CET 2021
Sweet - I'll kill HTTP2 for now them.
Should I reporte hte HTTP2 in a bugreport ?
onsdag den 17. november 2021 12.44.27 CET skrev Andy Green:
> On 11/17/21 10:45, Søren Holm wrote:
> > Hi
> >
> > I get no LWS_CALLBACK_HTTP_BODY_COMPLETION on posts over https - I do
> > however get that callback if I disable the ssl key and cert. Thereby
> > running the server in http mode.
> >
> > I use commandline curl for the post.
> >
> > The difference as I can see is that curl somehow end up using HTTP2 on
> > https, but HTTP1.1 on regular http. Forcing curl to use HTTP1.1 on the
> > https brings the callback back.
> >
> > So, is something fweird going on on H2?
>
> It looks like some problem with how it is closed...
>
> >> curl: (92) HTTP/2 stream 1 was not closed cleanly before end of the
>
> underlying stream
>
> > Can I disable H2 completely without recompiling libwebsocket?
>
> You can disable it for build at cmake with -DLWS_WITH_HTTP2=0.
>
> To do it at runtime, at vhost creation time (or context creation time if
> you just use the default vhost), you can tell the vhost what alpn
> services it should offer with info->alpn. If you leave it NULL, then it
> figures out what to offer based on what roles are enabled in the build.
>
> In this case if you set it to "http/1.1" it will only advertise h1 to
> clients at tls level, even if h2 is actually available.
>
> -Andy
--
Søren Holm
More information about the Libwebsockets
mailing list