Loading...
Loading...
HTTP2 differs from HTTP1 in that it is possible to have a request or response without a Content-Length header, and have the connection remain open afterwards. The HTTP2 framing allows the end of such a request or response to be detected. This difference can cause the HTTP framework within the BIG-IP system to become confused in certain HTTP2 scenarios. This can lead to inappropriate traffic handling of HTTP2 requests and responses.
-- HTTP2 traffic handling can fail if no Content-Length header exists, and one is expected in HTTP 1.x. -- The Data Frames are not sent to the HTTP1 server side. -- In certain scenarios, the HTTP1 side sends the pool member response back to the pool member . That will result in RST of the backend side connection with the following message in /var/log/ltm " [F5RST(peer): HTTP2 internal error (bad state transition in egress_complete)]
-- An HTTP2 request or response is seen without a Content-Length header. -- The HTTP2 request is either sent in multiple frames, or single frame + followed by one or more Data frames. -- That request or response would require a Content-Length (or Transfer-Encoding: Chunked) in HTTP 1.x.
None.
HTTP2 traffic without a Content-Length is successfully converted to chunked HTTP1 requests or responses. HTTP2 traffic without a Content-Length when such a header is required by HTTP1, does not cause HTTP2 stream failure.
Click on a version to see all relevant bugs
F5 Integration
Learn more about where this data comes from
BugZero Plan
Streamline upgrades with automated vendor bug scrubs
BugZero Prevent
Wish you caught this bug sooner? Get proactive today.