Index: commons/src/main/java/org/hippoecm/hst/util/HstRequestUtils.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- commons/src/main/java/org/hippoecm/hst/util/HstRequestUtils.java (revision 54173) +++ commons/src/main/java/org/hippoecm/hst/util/HstRequestUtils.java (revision ) @@ -297,7 +297,7 @@ String [] schemes = getCommaSeparatedMultipleHeaderValues(request, "X-Forwarded-Proto"); if (schemes != null && schemes.length != 0) { - return schemes[0]; + return schemes[0].toLowerCase(); } schemes = getCommaSeparatedMultipleHeaderValues(request, "X-Forwarded-Scheme"); Index: commons/src/test/java/org/hippoecm/hst/util/TestHstRequestUtils.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- commons/src/test/java/org/hippoecm/hst/util/TestHstRequestUtils.java (revision 54173) +++ commons/src/test/java/org/hippoecm/hst/util/TestHstRequestUtils.java (revision ) @@ -137,4 +137,13 @@ assertEquals("https", HstRequestUtils.getFarthestRequestScheme(request)); } + @Test + public void testXForwardedProtoInCapitals() throws Exception { + HttpServletRequest request = createNiceMock(HttpServletRequest.class); + expect(request.getHeader("X-Forwarded-Proto")).andReturn("HTTP").anyTimes(); + replay(request); + String farthestRequestScheme = HstRequestUtils.getFarthestRequestScheme(request); + assertEquals("http",farthestRequestScheme); + } + }