35 lines
1.5 KiB
Diff
35 lines
1.5 KiB
Diff
From 349248060f2bff5f4592fda1917f83ba9e70bf3f Mon Sep 17 00:00:00 2001
|
|
From: Eric Covener <covener@apache.org>
|
|
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
|
|
---
|
|
modules/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 d5d0f9bc6bc..2cfbb5f5d4b 100644
|
|
--- a/mod_http2/h2_proxy_session.c
|
|
+++ b/mod_http2/h2_proxy_session.c
|
|
@@ -850,6 +850,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 = orig_host;
|
|
+ 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;
|
|
|