File tree Expand file tree Collapse file tree 1 file changed +14
-2
lines changed
src/main/java/com/gitblit/utils Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -78,6 +78,7 @@ public static String getGitblitURL(HttpServletRequest request) {
78
78
}
79
79
}
80
80
81
+ // try to use reverse-proxy's context
81
82
String context = request .getContextPath ();
82
83
String forwardedContext = request .getHeader ("X-Forwarded-Context" );
83
84
if (StringUtils .isEmpty (forwardedContext )) {
@@ -92,13 +93,24 @@ public static String getGitblitURL(HttpServletRequest request) {
92
93
context = context .substring (1 );
93
94
}
94
95
96
+ // try to use reverse-proxy's hostname
97
+ String host = request .getServerName ();
98
+ String forwardedHost = request .getHeader ("X-Forwarded-Host" );
99
+ if (StringUtils .isEmpty (forwardedHost )) {
100
+ forwardedHost = request .getHeader ("X_Forwarded_Host" );
101
+ }
102
+ if (!StringUtils .isEmpty (forwardedHost )) {
103
+ host = forwardedHost ;
104
+ }
105
+
106
+ // build result
95
107
StringBuilder sb = new StringBuilder ();
96
108
sb .append (scheme );
97
109
sb .append ("://" );
98
- sb .append (request . getServerName () );
110
+ sb .append (host );
99
111
if (("http" .equals (scheme ) && port != 80 )
100
112
|| ("https" .equals (scheme ) && port != 443 )) {
101
- sb .append (":" + port );
113
+ sb .append (":" ). append ( port );
102
114
}
103
115
sb .append (context );
104
116
return sb .toString ();
You can’t perform that action at this time.
0 commit comments