Skip to content

ServletUriComponentsBuilder doesn't work if X-Forwarded-Host is in host:port format [SPR-10701] #15329

Closed
@spring-projects-issues

Description

@spring-projects-issues

Hrvoje Jambrovic opened SPR-10701 and commented

Linked with #14743
ServletUriComponentsBuilder takes X-Forwarded-Host value from header (if exists) and puts it as "host".
If X-Forwarded-Host is:
X-Forwarded-Host: webtest.foo.bar.com:443

creating uri produces error:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Could not create URI object: Malformed IPv6 address at index 8: http://[webtest.foo.bar.com:443]:8180/api/person/449089
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)
...

Definition of Host header:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23

X-Forwarded-Host is a copy of Host header:
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers


Affects: 3.2.1

Issue Links:

Referenced from: commits 1e90d02, 6c11fd3

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)type: bugA general bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions