Skip to content

Commit bb9e61a

Browse files
authored
Merge pull request #13197 from grails/12816-read-port-from-header
Update GrailsWebRequest
2 parents d8d8917 + 648a0b6 commit bb9e61a

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

grails-web-common/src/main/groovy/org/grails/web/servlet/mvc/GrailsWebRequest.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -467,11 +467,17 @@ public String getBaseUrl() {
467467
sb.append(scheme).append("://").append(request.getServerName());
468468

469469
int port = request.getServerPort();
470-
470+
String forwardedPort = request.getHeader("X-Forwarded-Port");
471+
471472
//ignore port append if the request was forwarded from a VIP as actual source port is now not known
472473
if (forwardedScheme == null && (("http".equals(scheme) && port != 80) || ("https".equals(scheme) && port != 443))) {
473474
sb.append(":").append(port);
475+
} else if (forwardedPort != null &&
476+
("http".equals(forwardedScheme) && !"80".equals(forwardedPort)) ||
477+
("https".equals(forwardedScheme) && !"443".equals(forwardedPort))) {
478+
sb.append(":").append(forwardedPort);
474479
}
480+
475481
String contextPath = request.getContextPath();
476482
if (contextPath != null) {
477483
sb.append(contextPath);

0 commit comments

Comments
 (0)