【问题标题】:How to restrict access by IP address with Tomcat?Tomcat如何通过IP地址限制访问?
【发布时间】:2010-08-01 09:49:27
【问题描述】:

有谁知道 Tomcat 是否可以通过 IP 地址限制对某些应用程序的访问(如 Apache 的 .htaccess)?

【问题讨论】:

    标签: apache tomcat webserver


    【解决方案1】:

    您将Valve 添加到context.xml 中的Context(特别是org.apache.catalina.valves.RemoteAddrValve)。请参阅Remote Host Filters 上的文档。

    【讨论】:

      【解决方案2】:

      这是一个例子:

      在\apache-tomcat-7.0.33\conf\server.xml:

      <Engine name="Catalina" defaultHost="localhost">
          ...
          ...
          ...
          <Valve className="org.apache.catalina.valves.RemoteAddrValve"
              allow="10\.132\.77\.55|10\.132\.76\.120|10\.132\.77\.47"/>
          ...
      </Engine>
      

      【讨论】:

      • 配置文件也可以在这些目录中 '/etc/tomcat8/server.xml' '
      • 这也可用于保护管理器和主机管理器访问。
      【解决方案3】:

      在 Tomcat 7 中,您可以在 web.xml 中配置它。

      如果是针对所有web应用,可以在tomcat7/conf/web.xml配置,如果只是针对一个web应用,可以在tomcat7/webapps/$(WEB_APP)/WEB-INF/web.xml配置,非常方便。

      配置使用RemoteAddrFilter过滤器,Container Provided Filters中有一个例子。

      【讨论】:

        【解决方案4】:

        要为特定 IP 地址设置对 Web 应用程序的访问限制,请将以下字符串添加到 /opt/tomcat/webapps/{web-application name}/META-INF/context。 xml 文件:

        <Context antiJARLocking="true" path="/">
         <Valve className="org.apache.catalina.valves.RemoteIpValve" />
         <Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="{IP_address}" />
        </Context>
        

        这里是 instruction how to do this 通过 Jelastic 面板。请务必重新启动 Tomcat 以使更改生效。

        【讨论】:

        • 谢谢。我正在寻找如何限制对单个 web 应用程序的访问。通过用那个特定的 webapp 替换“ROOT”,它起作用了。感谢您指出伟大的来源!
        • 哦,顺便说一下(对于尝试这种方法的每个人),您必须重新启动 Tomcat 实例才能使 IP 限制生效。此外,您可以将deny 替换为allow 以仅允许某些IP 而不是仅阻止某些IP。
        • 非常感谢!对于 8.5.37,只有这个解决方案有效。不幸的是,所有其他解决方案都缺少 RemoteIpValve 语句。
        【解决方案5】:

        在Tomcat 9中,可以在path:apache-tomcat-9.0.14\webapps\manager\META-INF\context.xml进行配置

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-06
          • 1970-01-01
          • 2015-10-21
          • 2017-10-27
          • 1970-01-01
          • 1970-01-01
          • 2016-10-18
          • 2010-09-30
          相关资源
          最近更新 更多