Merge remote-tracking branch 'origin/pr/372' into stable
This commit is contained in:
@@ -60,8 +60,21 @@ public class NetworkService {
|
|||||||
|
|
||||||
private static URI calculateProxyUri(HttpServletRequest request) throws URISyntaxException {
|
private static URI calculateProxyUri(HttpServletRequest request) throws URISyntaxException {
|
||||||
String xForardedHost = request.getHeader(X_FORWARDED_HOST);
|
String xForardedHost = request.getHeader(X_FORWARDED_HOST);
|
||||||
|
// If the request has been through multiple reverse proxies,
|
||||||
|
// We need to return the original Host that the client used
|
||||||
|
if (xForardedHost != null) {
|
||||||
|
xForardedHost = xForardedHost.split(",")[0];
|
||||||
|
}
|
||||||
|
|
||||||
if(!isValidXForwardedHost(xForardedHost)) {
|
if(!isValidXForwardedHost(xForardedHost)) {
|
||||||
xForardedHost = request.getHeader(X_FORWARDED_SERVER);
|
xForardedHost = request.getHeader(X_FORWARDED_SERVER);
|
||||||
|
|
||||||
|
// If the request has been through multiple reverse proxies,
|
||||||
|
// We need to return the original Host that the client used
|
||||||
|
if (xForardedHost != null) {
|
||||||
|
xForardedHost = xForardedHost.split(",")[0];
|
||||||
|
}
|
||||||
|
|
||||||
if(!isValidXForwardedHost(xForardedHost)) {
|
if(!isValidXForwardedHost(xForardedHost)) {
|
||||||
throw new RuntimeException("Cannot calculate proxy uri without HTTP header " + X_FORWARDED_HOST);
|
throw new RuntimeException("Cannot calculate proxy uri without HTTP header " + X_FORWARDED_HOST);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user