Browse Source

fix baseURL handling in HttpUtils, fixes #1083

tags/v1.8.0
Dirk Steinkopf 8 years ago
parent
commit
a1ef8e9306
1 changed files with 14 additions and 2 deletions
  1. 14
    2
      src/main/java/com/gitblit/utils/HttpUtils.java

+ 14
- 2
src/main/java/com/gitblit/utils/HttpUtils.java View File

@@ -78,6 +78,7 @@ public class HttpUtils {
}
}
// try to use reverse-proxy's context
String context = request.getContextPath();
String forwardedContext = request.getHeader("X-Forwarded-Context");
if (StringUtils.isEmpty(forwardedContext)) {
@@ -92,13 +93,24 @@ public class HttpUtils {
context = context.substring(1);
}
// try to use reverse-proxy's hostname
String host = request.getServerName();
String forwardedHost = request.getHeader("X-Forwarded-Host");
if (StringUtils.isEmpty(forwardedHost)) {
forwardedHost = request.getHeader("X_Forwarded_Host");
}
if (!StringUtils.isEmpty(forwardedHost)) {
host = forwardedHost;
}
// build result
StringBuilder sb = new StringBuilder();
sb.append(scheme);
sb.append("://");
sb.append(request.getServerName());
sb.append(host);
if (("http".equals(scheme) && port != 80)
|| ("https".equals(scheme) && port != 443)) {
sb.append(":" + port);
sb.append(":").append(port);
}
sb.append(context);
return sb.toString();

Loading…
Cancel
Save