rlm_rest and HTTP/2
hoggins at wheres5.com
Tue Jul 30 10:45:33 CEST 2019
Been playing around with rlm_rest, and it works like a charm over
HTTPS... until you activate HTTP/2 on your web server. Because then I
get this in the logs:
(1) rest: Processing response header
(1) rest: ERROR: Malformed HTTP header: Status line too short
(1) rest: ERROR: Received 13 bytes of response data: HTTP/2 404
(1) rest: ERROR: Request failed: 23 - Failed writing received data
(1) rest: ERROR: Server returned no data
rlm_rest (rest): Released connection (0)
Note that performing the HTTP call with cURL works with both HTTP/1.1
and HTTP/2 (correct answer given when trying to authenticate a user) so
the web server behavior in itself is not the cause.
It seems that rlm_rest does not handle HTTP/2 very well, expecting
something that does not exist under this protocol, or at least before
the parties agreed to use it.
I'm no HTTP/2 expert, but cURL in verbose mode shows:
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after
... which seem to indicate that some connection upgrade is being
performed (like for a websocket?), and one might think that rlm_rest
does not like it very much.
Are these assumptions correct?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 195 bytes
Desc: OpenPGP digital signature
More information about the Freeradius-Users