You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clients that generate HTTP/2 requests directly MUST use the ":authority" pseudo-header field to convey authority information, unless there is no authority information to convey (in which case it MUST NOT generate ":authority").
An intermediary that forwards a request over HTTP/2 MUST construct an ":authority" pseudo-header field using the authority information from the control data of the original request, unless the original request's target URI does not contain authority information (in which case it MUST NOT generate ":authority"). Note that the Host header field is not the sole source of this information; see Section 7.2 of [HTTP].
But:
On server side, Vert.x automatically uses the Host header as "authority" if no authority is present. Hiding the information that no authority was present in the request
On client side, Vert.x does not permit to generate HTTP/2 requests without authority.
These 2 points make the reverse-proxying of HTTP/2 requests without authority impossible.
Do you have a reproducer?
Not a real reproducer, but something to investigate HTTP/2 request management using Vert.x:
Version
I used vert.x core 4.5.14
Context
The HTTP/2 RFC clearly says that an HTTP/2 request may have no
:authority
pseudo header:Then it also say this:
But:
Host
header as "authority" if no authority is present. Hiding the information that no authority was present in the requestThese 2 points make the reverse-proxying of HTTP/2 requests without authority impossible.
Do you have a reproducer?
Not a real reproducer, but something to investigate HTTP/2 request management using Vert.x:
Extra
This is link to a discussion on an HA proxy issue regarding HTTP/1.1 -> HTTP/2 request translation: haproxy/haproxy#2592
Which discussion led to a question raised for the W3C HTTP working group: https://lists.w3.org/Archives/Public/ietf-http-wg/2024JulSep/0258.html
The text was updated successfully, but these errors were encountered: