在tomcat的server.xml里面可以配置两个vavle来限制ip访问,可以使用allow配置白名单,用deny配置黑名单,都支持正则配置匹配,可以把这个vavle配置在any Catalina container (Engine, Host, or Context)的任何一个,只会有不同的作用于,可以用ip4或者ip6地址;denyStatus是黑名单访问的http状态码,
<valve classname=
"org.apache.catalina.valves.RemoteAddrValve"
allow=
"127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"
deny=
"178.238.\d+.\d+"
denystatus=
"“403”/"
></valve>
tomcat还有Remote Host Filter RemoteHostValve这个来表示域名的匹配
<valve classname=
"org.apache.catalina.valves.RemoteHostValve"
allow=
"www.aaa.com"
deny=
"www.bbb.com"
denystatus=
"“403”/"
></valve>
org.apache.catalina.valves.RemoteIpValve 这个vavle可以用来把代理或者负载均衡机器或者request header中的X-Forwarded-For的ip把request的remote ip替换掉,改成真正的地址。