This article is to further show on how this behaviour looks like from the Proxy policy trace and HTTP debug.
Client is sending the request in HTTP/2 but the server does not support HTTP/2.
Proxy running version 7.3 that supports HTTP/2.
The Proxy policy trace will show the following information on the version requested by the client and supported by the server.
server.response.code: 200
client.response.code: 200
client.request.version: HTTP/2
server.response.version: HTTP/1.1
The HTTP Debug below indicates that the server only support HTTP/1.x.
0892.296 HTTP Explicit HTTP INFO HTTP SW 1029DA4EA40 for 1029DA45A40 Notifying client-side connection that upstream is HTTP/1.1 (to restrict concurrent streams), hostname=www.example.com, session=102EB2F2020
"HTTP SW 1029DA4EA40 for 1029DA45A40" means it's HTTP/1.x, where it would be "H2 SW 1029DA4EA40 for 1029DA45A40" if it was HTTP/2.
A policy or rule below need to be applied to disable HTTP/2 for the affected server:
<proxy>
client.connection.ssl_server_name.substring=www.example.com http2.client.accept(no) http2.server.request(no)