Commit 1182822
committed
Uwsgi: ensure HTTP_HOST is set to the requested target host.
When using HTTP/2 or prior the CGI/1.1 HTTP_HOST environment variable is
set to the requested target host.
However with HTTP/3 (or with HTTP/1.1 with the host contained in the
request line) this was not happening.
The HTTP/2 module uses the ':authority' pseudo-header field to set
http_host. It was decided not to do that for HTTP/3.
Instead we create a *new* default for http_host which will now use the
HOST request header or :authority pseudo-header field.
While this is a slight change in behaviour in regards to passing HTTP
request header fields, it should be fine in practice as the HTTP host
request header and the :authority pseudo-header field should be the
same.
Also the CGI specification (RFC 3875, 4.1.18) notes
The server SHOULD set meta-variables specific to the protocol and
scheme for the request. Interpretation of protocol-specific
variables depends on the protocol version in SERVER_PROTOCOL.
Link: <https://datatracker.ietf.org/doc/html/rfc3875#section-4.1.18>1 parent 830599c commit 1182822
1 file changed
+9
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
629 | 629 | | |
630 | 630 | | |
631 | 631 | | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
632 | 639 | | |
633 | 640 | | |
634 | 641 | | |
| |||
1995 | 2002 | | |
1996 | 2003 | | |
1997 | 2004 | | |
1998 | | - | |
| 2005 | + | |
| 2006 | + | |
1999 | 2007 | | |
2000 | 2008 | | |
2001 | 2009 | | |
| |||
0 commit comments