openlitespeed icon indicating copy to clipboard operation
openlitespeed copied to clipboard

H2: HEADERS frame followed by an empty DATA frame (with END_STREAM flag set) causes issues.

Open jalopezsilva opened this issue 3 years ago • 1 comments

We ran into a server in the wild that is using Litespeed that is rejecting our requests with a 400 Bad Request because of an empty DATA frame following a HEADERS frame with :method set to GET. An empty DATA frame can be used to signal End Of Message (EOM) with an END_STREAM flag set.

We have verified that removing the empty DATA frame and sending an END_HEADERS, END_STREAM flag with the HEADERS frame solves the problem.

Host: kosovatoday.net Path: /wp-content/uploads/2022/03/lput-ttt.jpg Server: Litespeed

I'm attaching an image of the request sent by our client and the subsequent response by the Litespeed server.

Request: H2 Request

Response: H2 Response

jalopezsilva avatar Apr 18 '22 21:04 jalopezsilva

Hi, thanks for the bug report. We have tried to reproduce it internally, but failed. Is there any easy way to reproduce it. The best way is to access kosovatoday.net backend server to check server debug log. Do you have contact of the admin of kosovatoday.net?

litespeedtech avatar Apr 20 '22 18:04 litespeedtech