小编use*_*268的帖子

使用多个Tomcat容器提供的过滤器(远程地址过滤器)

我试图限制基于IP地址在我的tomcat服务器上访问哪些URL.我想要做的是允许通过环回地址(即localhost)访问tomcat时访问所有地方,并且只允许访问所有其他远程IP的某些区域.我在conf/web.xml中有以下两个过滤器,但它们的行为并不像我想的那样.现在所有远程访问都被拒绝(不是我想要的),并且允许所有本地访问(我想要的).我无法让tomcat允许所有IP地址访问/ terms/,/ help /等.

任何指针都非常感激.

<!-- ================== Built In Filter Definitions ===================== -->

<filter>
    <filter-name>Restrict Remote Filter</filter-name>
    <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
    <init-param>
        <param-name>allow</param-name> 
        <param-value>\d+\.\d+\.\d+\.\d+</param-value>  <!-- for any IP address, * not allowed here -->
    </init-param>
</filter>
<filter-mapping>
    <filter-name>Restrict Remote Filter</filter-name>
    <url-pattern>/terms/*, /help/*, /messagebroker/*</url-pattern>  <!-- allow access to these areas only -->
</filter-mapping>

<filter>
    <filter-name>Allow Localhost Filter</filter-name>
    <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
    <init-param>
        <param-name>allow</param-name> 
        <param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value>  <!-- for localhost access… -->
    </init-param>
</filter>
<filter-mapping>
    <filter-name>Allow Localhost Filter</filter-name>
    <url-pattern>/*</url-pattern>  <!-- access all areas --> …
Run Code Online (Sandbox Code Playgroud)

tomcat localhost remote-access filter

5
推荐指数
1
解决办法
1704
查看次数

标签 统计

filter ×1

localhost ×1

remote-access ×1

tomcat ×1