3

如何限制对特定 URL(它是 Tomcat 应用程序服务器)的访问?例如http://localhost:8081/application,除指定 IP(即调用服务)外的用户无法访问

4

2 回答 2

6

引用:

远程地址过滤器 org.apache.catalina.valves.RemoteAddrValve 允许您将请求客户端的 IP 地址与一个或多个正则表达式进行比较,以根据此比较的结果允许或阻止请求继续。远程地址过滤器可以与 Tomcat 引擎、主机或上下文容器相关联。org.apache.catalina.valves.RemoteAddrValve。

http://www.oxxus.net/tutorials/tomcat/tomcat-valve.htm

所以,你需要一些类似的东西

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="<your-ip-here>"/>

有关可能的值,请参阅

http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Remote_Address_Filter

您应该可以在 WEB-INF/web.xml 中为您的应用程序设置它,请参阅

http://oreilly.com/java/archive/tomcat.html

于 2011-01-31T11:27:17.123 回答
1

转到以下路径:C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost\

在此路径下,您会找到“manager.xml”文件。

编辑“manager.xml”文件,内容如下:

<Context path="/manager" debug="0" privileged="true">

      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,10.100.1.2"/>

      <!-- Link to the user database we will get roles from
      <ResourceLink name="users" global="UserDatabase" type="org.apache.catalina.UserDatabase"/>
        -->

</Context>

保存并运行服务器。你说对了。

笔记 :

  • 127.0.0.1 表示您的系统 IP
  • 10.100.1.2 - 这是您的朋友 IP。
于 2013-07-17T10:22:37.643 回答