Make RemoteIpValve's protocolHeaderHttpsValue configurable via the env

Closes gh-3289
This commit is contained in:
Andy Wilkinson
2015-06-22 13:43:02 +01:00
parent 5f2ffdb9e2
commit 01ba0f7571
3 changed files with 18 additions and 0 deletions

View File

@@ -165,6 +165,7 @@ public class ServerPropertiesTests {
assertThat(valve, instanceOf(RemoteIpValve.class));
RemoteIpValve remoteIpValve = (RemoteIpValve) valve;
assertEquals("x-forwarded-proto", remoteIpValve.getProtocolHeader());
assertEquals("https", remoteIpValve.getProtocolHeaderHttpsValue());
assertEquals("x-forwarded-for", remoteIpValve.getRemoteIpHeader());
String expectedInternalProxies = "10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|" // 10/8
@@ -182,6 +183,7 @@ public class ServerPropertiesTests {
map.put("server.tomcat.protocol_header", "x-my-protocol-header");
map.put("server.tomcat.internal_proxies", "192.168.0.1");
map.put("server.tomcat.port-header", "x-my-forward-port");
map.put("server.tomcat.protocol-header-https-value", "On");
bindProperties(map);
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
@@ -192,6 +194,7 @@ public class ServerPropertiesTests {
assertThat(valve, instanceOf(RemoteIpValve.class));
RemoteIpValve remoteIpValve = (RemoteIpValve) valve;
assertEquals("x-my-protocol-header", remoteIpValve.getProtocolHeader());
assertEquals("On", remoteIpValve.getProtocolHeaderHttpsValue());
assertEquals("x-my-remote-ip-header", remoteIpValve.getRemoteIpHeader());
assertEquals("x-my-forward-port", remoteIpValve.getPortHeader());
assertEquals("192.168.0.1", remoteIpValve.getInternalProxies());