diff --git a/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java b/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java index 82b2004609b4..ee1a90905ee3 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java @@ -482,6 +482,11 @@ public UriComponentsBuilder uri(URI uri) { } if (uri.getHost() != null) { this.host = uri.getHost(); + } else if (uri.getRawAuthority() != null) { + Matcher matcher = URI_PATTERN.matcher(uri.getRawAuthority()); + if (matcher.matches()) { + this.host = matcher.group(6); + } } if (uri.getPort() != -1) { this.port = String.valueOf(uri.getPort());