Tomcat服务器的IP地址限制方法? [英] Tomcat server IP address restriction methods?

查看:403
本文介绍了Tomcat服务器的IP地址限制方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道我可以在tomcat服务器的context.xml中添加一个Valve,以允许或拒绝某些IP地址:

I knew that I can add a Valve in context.xml in tomcat server to allow or deny some IP address :

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" denyStatus="403" />

除了上述配置外,还有其他可以配置IP限制的方法吗?

例如,我可以使用文本文件或数据库存储IP地址以提出IP限制建议吗?

For example, can I use text file or database to store IP addresses for IP restriction propose?

非常感谢您!

推荐答案

您可以动态注册Tomcat的远程地址过滤器.

You can dynamically register Tomcat's Remote Address Filter.

http://tomcat.apache.org/tomcat- 7.0-doc/config/filter.html#Remote_Address_Filter

它看起来像这样:

@WebListener
public class MyServletContextListener implements ServletContextListener {
  @Override
  public void contextInitialized(ServletContextEvent sce) {
    // Get IP addresses from the DB or text file.
    ...

    ServletContext sc = sce.getServletContext();
    FilterRegistration fr;
    fr = sc.addFilter("RemoteAddrFilter", "org.apache.catalina.filters.RemoteAddrFilter");
    fr.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*");
    fr.setInitParameter("allow", "127\\.0\\.0\\.1");
    fr.setInitParameter("denyStatus", "403");
  }
}

这篇关于Tomcat服务器的IP地址限制方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆