From 095a11e86cba6a88cde2f86198fee201a0ddfe59 Mon Sep 17 00:00:00 2001 From: baranowb Date: Tue, 27 May 2025 11:41:11 +0200 Subject: [PATCH] [UNDERTOW-2553] Add reuseHostHeader to ModCluster --- .../server/handlers/proxy/mod_cluster/ModCluster.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java b/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java index ff3653034f..804af99c1a 100644 --- a/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java +++ b/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java @@ -59,6 +59,7 @@ public class ModCluster { private final String rankedAffinityDelimiter; private final boolean reuseXForwarded; + private final boolean rewriteHostHeader; private final String serverID = UUID.randomUUID().toString(); // TODO @@ -79,6 +80,7 @@ public class ModCluster { this.useAlias = builder.useAlias; this.maxRetries = builder.maxRetries; this.reuseXForwarded = builder.reuseXForwarded; + this.rewriteHostHeader = builder.rewriteHostHeader; this.container = new ModClusterContainer(this, builder.xnioSsl, builder.client, builder.clientOptions); } @@ -162,6 +164,7 @@ public HttpHandler createProxyHandler() { .setMaxRequestTime(maxRequestTime) .setMaxConnectionRetries(maxRetries) .setReuseXForwarded(reuseXForwarded) + .setRewriteHostHeader(rewriteHostHeader) .build(); } @@ -177,6 +180,7 @@ public HttpHandler createProxyHandler(HttpHandler next) { .setMaxRequestTime(maxRequestTime) .setMaxConnectionRetries(maxRetries) .setReuseXForwarded(reuseXForwarded) + .setRewriteHostHeader(rewriteHostHeader) .build(); } /** @@ -244,6 +248,7 @@ public static class Builder { private String rankedAffinityDelimiter = "."; private boolean reuseXForwarded; + private boolean rewriteHostHeader; private Builder(XnioWorker xnioWorker, UndertowClient client, XnioSsl xnioSsl) { this.xnioSsl = xnioSsl; @@ -348,6 +353,11 @@ public Builder setReuseXForwarded(boolean reuseXForwarded) { this.reuseXForwarded = reuseXForwarded; return this; } + + public Builder setRewriteHostHeader(boolean rewriteHostHeader) { + this.rewriteHostHeader = rewriteHostHeader; + return this; + } } }