From 349248060f2bff5f4592fda1917f83ba9e70bf3f Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Mon, 7 Jul 2025 11:53:43 +0000 Subject: [PATCH] tolerate missing host header in h2 proxy git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1927036 13f79535-47bb-0310-9956-ffa450edef68 --- mod_http2/h2_proxy_session.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mod_http2/h2_proxy_session.c b/mod_http2/h2_proxy_session.c index 5f64dbc..4effb36 100644 --- a/mod_http2/h2_proxy_session.c +++ b/mod_http2/h2_proxy_session.c @@ -738,6 +738,18 @@ static apr_status_t open_stream(h2_proxy_session *session, const char *url, dconf = ap_get_module_config(r->per_dir_config, &proxy_module); if (dconf->preserve_host) { authority = r->hostname; + if (!authority) { + /* Duplicate mod_proxy behaviour if ProxyPreserveHost is + * used but an "HTTP/0.9" request is received without a + * Host: header */ + authority = r->server->server_hostname; + ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r, APLOGNO(10511) + "HTTP/0.9 request (with no host line) " + "on incoming request and preserve host set " + "forcing hostname to be %s for uri %s", + authority, r->uri); + apr_table_setn(r->headers_in, "Host", authority); + } } else { authority = puri.hostname;