diff --git a/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java index 8af1a2145b..3669d2bf4e 100644 --- a/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java @@ -142,7 +142,7 @@ class Netty4ClientHttpRequest extends AbstractAsyncClientHttpRequest implements FullHttpRequest nettyRequest = new DefaultFullHttpRequest( HttpVersion.HTTP_1_1, nettyMethod, path, this.body.buffer()); - nettyRequest.headers().set(HttpHeaders.HOST, this.uri.getHost()); + nettyRequest.headers().set(HttpHeaders.HOST, this.uri.getHost() + ":" + getPort(uri)); nettyRequest.headers().set(HttpHeaders.CONNECTION, "close"); for (Map.Entry> entry : headers.entrySet()) { nettyRequest.headers().add(entry.getKey(), entry.getValue()); diff --git a/spring-web/src/test/java/org/springframework/http/client/AbstractMockWebServerTestCase.java b/spring-web/src/test/java/org/springframework/http/client/AbstractMockWebServerTestCase.java index 423f66ed6c..0a496e871a 100644 --- a/spring-web/src/test/java/org/springframework/http/client/AbstractMockWebServerTestCase.java +++ b/spring-web/src/test/java/org/springframework/http/client/AbstractMockWebServerTestCase.java @@ -48,6 +48,8 @@ public class AbstractMockWebServerTestCase { public MockResponse dispatch(RecordedRequest request) throws InterruptedException { try { if (request.getPath().equals("/echo")) { + assertThat(request.getHeader("Host"), + Matchers.containsString("localhost:" + port)); MockResponse response = new MockResponse() .setHeaders(request.getHeaders()) .setHeader("Content-Length", request.getBody().size())