Merge branch '1.1.x'
This commit is contained in:
commit
1ed90df630
|
@ -207,9 +207,11 @@ public class ServerProperties implements EmbeddedServletContainerCustomizer {
|
||||||
+ "169\\.254\\.\\d{1,3}\\.\\d{1,3}|" // 169.254/16
|
+ "169\\.254\\.\\d{1,3}\\.\\d{1,3}|" // 169.254/16
|
||||||
+ "127\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"; // 127/8
|
+ "127\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"; // 127/8
|
||||||
|
|
||||||
private String protocolHeader = "x-forwarded-proto";
|
private String protocolHeader;
|
||||||
|
|
||||||
private String remoteIpHeader = "x-forwarded-for";
|
private String portHeader;
|
||||||
|
|
||||||
|
private String remoteIpHeader;
|
||||||
|
|
||||||
private File basedir;
|
private File basedir;
|
||||||
|
|
||||||
|
@ -285,6 +287,14 @@ public class ServerProperties implements EmbeddedServletContainerCustomizer {
|
||||||
this.protocolHeader = protocolHeader;
|
this.protocolHeader = protocolHeader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getPortHeader() {
|
||||||
|
return this.portHeader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPortHeader(String portHeader) {
|
||||||
|
this.portHeader = portHeader;
|
||||||
|
}
|
||||||
|
|
||||||
public String getRemoteIpHeader() {
|
public String getRemoteIpHeader() {
|
||||||
return this.remoteIpHeader;
|
return this.remoteIpHeader;
|
||||||
}
|
}
|
||||||
|
@ -321,6 +331,7 @@ public class ServerProperties implements EmbeddedServletContainerCustomizer {
|
||||||
valve.setRemoteIpHeader(remoteIpHeader);
|
valve.setRemoteIpHeader(remoteIpHeader);
|
||||||
valve.setProtocolHeader(protocolHeader);
|
valve.setProtocolHeader(protocolHeader);
|
||||||
valve.setInternalProxies(getInternalProxies());
|
valve.setInternalProxies(getInternalProxies());
|
||||||
|
valve.setPortHeader(getPortHeader());
|
||||||
factory.addContextValves(valve);
|
factory.addContextValves(valve);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -147,6 +147,12 @@ public class ServerPropertiesTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultTomcatRemoteIpValve() throws Exception {
|
public void defaultTomcatRemoteIpValve() throws Exception {
|
||||||
|
Map<String, String> map = new HashMap<String, String>();
|
||||||
|
// Since 1.1.7 you need to specify at least the protocol and ip properties
|
||||||
|
map.put("server.tomcat.protocol_header", "x-forwarded-proto");
|
||||||
|
map.put("server.tomcat.remote_ip_header", "x-forwarded-for");
|
||||||
|
bindProperties(map);
|
||||||
|
|
||||||
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
|
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
|
||||||
this.properties.customize(container);
|
this.properties.customize(container);
|
||||||
|
|
||||||
|
@ -171,6 +177,7 @@ public class ServerPropertiesTests {
|
||||||
map.put("server.tomcat.remote_ip_header", "x-my-remote-ip-header");
|
map.put("server.tomcat.remote_ip_header", "x-my-remote-ip-header");
|
||||||
map.put("server.tomcat.protocol_header", "x-my-protocol-header");
|
map.put("server.tomcat.protocol_header", "x-my-protocol-header");
|
||||||
map.put("server.tomcat.internal_proxies", "192.168.0.1");
|
map.put("server.tomcat.internal_proxies", "192.168.0.1");
|
||||||
|
map.put("server.tomcat.port-header", "x-my-forward-port");
|
||||||
bindProperties(map);
|
bindProperties(map);
|
||||||
|
|
||||||
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
|
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
|
||||||
|
@ -182,6 +189,7 @@ public class ServerPropertiesTests {
|
||||||
RemoteIpValve remoteIpValve = (RemoteIpValve) valve;
|
RemoteIpValve remoteIpValve = (RemoteIpValve) valve;
|
||||||
assertEquals("x-my-protocol-header", remoteIpValve.getProtocolHeader());
|
assertEquals("x-my-protocol-header", remoteIpValve.getProtocolHeader());
|
||||||
assertEquals("x-my-remote-ip-header", remoteIpValve.getRemoteIpHeader());
|
assertEquals("x-my-remote-ip-header", remoteIpValve.getRemoteIpHeader());
|
||||||
|
assertEquals("x-my-forward-port", remoteIpValve.getPortHeader());
|
||||||
assertEquals("192.168.0.1", remoteIpValve.getInternalProxies());
|
assertEquals("192.168.0.1", remoteIpValve.getInternalProxies());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,8 @@ content into your application; rather pick only the properties that you need.
|
||||||
192\.168\.\d{1,3}\.\d{1,3}|\
|
192\.168\.\d{1,3}\.\d{1,3}|\
|
||||||
169\.254\.\d{1,3}\.\d{1,3}|\
|
169\.254\.\d{1,3}\.\d{1,3}|\
|
||||||
127\.\d{1,3}\.\d{1,3}\.\d{1,3} # regular expression matching trusted IP addresses
|
127\.\d{1,3}\.\d{1,3}\.\d{1,3} # regular expression matching trusted IP addresses
|
||||||
server.tomcat.protocol-header=x-forwarded-proto # ssl forward headers
|
server.tomcat.protocol-header=x-forwarded-proto # front end proxy forward header
|
||||||
|
server.tomcat.port-header= # front end proxy port header
|
||||||
server.tomcat.remote-ip-header=x-forwarded-for
|
server.tomcat.remote-ip-header=x-forwarded-for
|
||||||
server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)
|
server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)
|
||||||
server.tomcat.background-processor-delay=30; # in seconds
|
server.tomcat.background-processor-delay=30; # in seconds
|
||||||
|
|
Loading…
Reference in New Issue