tomcat添加黑白名单限制IP访问,可以在server.xml里添加配置
白名单设置allow即可
--只允许192.168.1.2和192.168.2.3
黑名单设置deny即可
--拒绝192.168.1.2和192.168.2.3
deny的优先级比allow要高。
Spring Boot内嵌的tomcat是一个应用一个context,无法在xml文件里配置。
如果想启用黑白名单,就需要自定义tomcat,设置context
@Configuration
public class TomcatConfig {
@Bean
public EmbeddedServletContainerFactory servletContainer(){
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
//black and white list of IP
String allow = "127.0.0.1|10.45.99.23|10.45.80.45";
String deny = "172.16.17.10|172.16.17.20|172.16.17.33";
RemoteAddrValve remoteAddrValve = new RemoteAddrValve();
remoteAddrValve.setAllow(allow);
remoteAddrValve.setDeny(deny);
tomcat.addContextValves(remoteAddrValve);
return tomcat;
}
}
获得容器后可以直接设置context,为context添加Value即可。