From b125f9edbfdf7190acd94f31bf3671234f67fde4 Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Mon, 23 May 2022 17:19:42 +0200 Subject: Fix ProxyResponse port replace --- .../java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponse.java | 4 +++- .../com/yahoo/vespa/hosted/controller/proxy/ProxyResponseTest.java | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'controller-server') diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponse.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponse.java index 886dc27b404..c57133d8efd 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponse.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponse.java @@ -29,7 +29,9 @@ public class ProxyResponse extends HttpResponse { super(statusResponse); this.contentType = contentType; - String configServerPrefix = HttpURL.from(configServer).withPath(Path.empty()).asURI().toString(); + // Configserver always serves from 4443, therefore all responses will have port 4443 in them, + // but the request URI (loadbalancer/VIP) is not always 4443 + String configServerPrefix = HttpURL.from(configServer).withPort(4443).withPath(Path.empty()).asURI().toString(); String controllerRequestPrefix = controllerRequest.getControllerPrefixUri().toString(); bodyResponseRewritten = bodyResponse.replace(configServerPrefix, controllerRequestPrefix); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponseTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponseTest.java index 32fe8ddecff..845d007c154 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponseTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyResponseTest.java @@ -24,7 +24,7 @@ public class ProxyResponseTest { Map.of(), null, List.of(URI.create("http://example.com")), Path.parse("configserver")); ProxyResponse proxyResponse = new ProxyResponse( request, - "response link is http://configserver:1234/bla/bla/", + "response link is http://configserver:4443/bla/bla/", 200, URI.create("http://configserver:1234"), "application/json"); @@ -42,7 +42,7 @@ public class ProxyResponseTest { Map.of(), null, List.of(URI.create("http://example.com")), Path.parse("configserver")); ProxyResponse proxyResponse = new ProxyResponse( request, - "response link is http://configserver:1234/bla/bla/", + "response link is http://configserver:4443/bla/bla/", 200, URI.create("http://configserver:1234"), "application/json"); -- cgit v1.2.3