Add server.tomcat.port-header support
Update Tomcat ServerProperties to support the RemoteIpValve portHeader property. Fixes gh-1616
This commit is contained in:
@@ -209,6 +209,8 @@ public class ServerProperties implements EmbeddedServletContainerCustomizer {
|
||||
|
||||
private String protocolHeader;
|
||||
|
||||
private String portHeader;
|
||||
|
||||
private String remoteIpHeader;
|
||||
|
||||
private File basedir;
|
||||
@@ -285,6 +287,14 @@ public class ServerProperties implements EmbeddedServletContainerCustomizer {
|
||||
this.protocolHeader = protocolHeader;
|
||||
}
|
||||
|
||||
public String getPortHeader() {
|
||||
return this.portHeader;
|
||||
}
|
||||
|
||||
public void setPortHeader(String portHeader) {
|
||||
this.portHeader = portHeader;
|
||||
}
|
||||
|
||||
public String getRemoteIpHeader() {
|
||||
return this.remoteIpHeader;
|
||||
}
|
||||
@@ -321,6 +331,7 @@ public class ServerProperties implements EmbeddedServletContainerCustomizer {
|
||||
valve.setRemoteIpHeader(remoteIpHeader);
|
||||
valve.setProtocolHeader(protocolHeader);
|
||||
valve.setInternalProxies(getInternalProxies());
|
||||
valve.setPortHeader(getPortHeader());
|
||||
factory.addContextValves(valve);
|
||||
}
|
||||
|
||||
|
||||
@@ -177,6 +177,7 @@ public class ServerPropertiesTests {
|
||||
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.internal_proxies", "192.168.0.1");
|
||||
map.put("server.tomcat.port-header", "x-my-forward-port");
|
||||
bindProperties(map);
|
||||
|
||||
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
|
||||
@@ -188,6 +189,7 @@ public class ServerPropertiesTests {
|
||||
RemoteIpValve remoteIpValve = (RemoteIpValve) valve;
|
||||
assertEquals("x-my-protocol-header", remoteIpValve.getProtocolHeader());
|
||||
assertEquals("x-my-remote-ip-header", remoteIpValve.getRemoteIpHeader());
|
||||
assertEquals("x-my-forward-port", remoteIpValve.getPortHeader());
|
||||
assertEquals("192.168.0.1", remoteIpValve.getInternalProxies());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user