X-Forwarded-Ssl is listed in ForwardedHeaderFilter
Issue: SPR-16863
This commit is contained in:
@@ -48,6 +48,7 @@ public class ForwardedHeaderFilterTests {
|
||||
private static final String X_FORWARDED_HOST = "x-forwarded-host";
|
||||
private static final String X_FORWARDED_PORT = "x-forwarded-port";
|
||||
private static final String X_FORWARDED_PREFIX = "x-forwarded-prefix";
|
||||
private static final String X_FORWARDED_SSL = "x-forwarded-ssl";
|
||||
|
||||
|
||||
private final ForwardedHeaderFilter filter = new ForwardedHeaderFilter();
|
||||
@@ -221,6 +222,7 @@ public class ForwardedHeaderFilterTests {
|
||||
testShouldFilter(X_FORWARDED_HOST);
|
||||
testShouldFilter(X_FORWARDED_PORT);
|
||||
testShouldFilter(X_FORWARDED_PROTO);
|
||||
testShouldFilter(X_FORWARDED_SSL);
|
||||
}
|
||||
|
||||
private void testShouldFilter(String headerName) {
|
||||
@@ -263,6 +265,7 @@ public class ForwardedHeaderFilterTests {
|
||||
this.request.addHeader(X_FORWARDED_PROTO, "https");
|
||||
this.request.addHeader(X_FORWARDED_HOST, "84.198.58.199");
|
||||
this.request.addHeader(X_FORWARDED_PORT, "443");
|
||||
this.request.addHeader(X_FORWARDED_SSL, "on");
|
||||
this.request.addHeader("foo", "bar");
|
||||
|
||||
this.filter.setRemoveOnly(true);
|
||||
@@ -278,6 +281,30 @@ public class ForwardedHeaderFilterTests {
|
||||
assertNull(actual.getHeader(X_FORWARDED_PROTO));
|
||||
assertNull(actual.getHeader(X_FORWARDED_HOST));
|
||||
assertNull(actual.getHeader(X_FORWARDED_PORT));
|
||||
assertNull(actual.getHeader(X_FORWARDED_SSL));
|
||||
assertEquals("bar", actual.getHeader("foo"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void forwardedRequestWithSsl() throws Exception {
|
||||
this.request.setRequestURI("/mvc-showcase");
|
||||
this.request.addHeader(X_FORWARDED_SSL, "on");
|
||||
this.request.addHeader(X_FORWARDED_HOST, "84.198.58.199");
|
||||
this.request.addHeader(X_FORWARDED_PORT, "443");
|
||||
this.request.addHeader("foo", "bar");
|
||||
|
||||
this.filter.doFilter(this.request, new MockHttpServletResponse(), this.filterChain);
|
||||
HttpServletRequest actual = (HttpServletRequest) this.filterChain.getRequest();
|
||||
|
||||
assertEquals("https://84.198.58.199/mvc-showcase", actual.getRequestURL().toString());
|
||||
assertEquals("https", actual.getScheme());
|
||||
assertEquals("84.198.58.199", actual.getServerName());
|
||||
assertEquals(443, actual.getServerPort());
|
||||
assertTrue(actual.isSecure());
|
||||
|
||||
assertNull(actual.getHeader(X_FORWARDED_SSL));
|
||||
assertNull(actual.getHeader(X_FORWARDED_HOST));
|
||||
assertNull(actual.getHeader(X_FORWARDED_PORT));
|
||||
assertEquals("bar", actual.getHeader("foo"));
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,8 @@ public class ForwardedHeaderFilterTests {
|
||||
.header("X-Forwarded-Host", "example.com")
|
||||
.header("X-Forwarded-Port", "8080")
|
||||
.header("X-Forwarded-Proto", "http")
|
||||
.header("X-Forwarded-Prefix", "prefix"));
|
||||
.header("X-Forwarded-Prefix", "prefix")
|
||||
.header("X-Forwarded-Ssl", "on"));
|
||||
|
||||
this.filter.setRemoveOnly(true);
|
||||
this.filter.filter(exchange, this.filterChain).block(Duration.ZERO);
|
||||
@@ -63,6 +64,7 @@ public class ForwardedHeaderFilterTests {
|
||||
assertFalse(result.containsKey("X-Forwarded-Port"));
|
||||
assertFalse(result.containsKey("X-Forwarded-Proto"));
|
||||
assertFalse(result.containsKey("X-Forwarded-Prefix"));
|
||||
assertFalse(result.containsKey("X-Forwarded-Ssl"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user