2016-06-19 104 views
1

我的Tomcat服务器有三个接口听端口8080,8081和50000和一个服务,我想只允许从端口50000通过端口限制访问到Servlet

我试图访问一些的servlet按端口过滤客户端的访问使用RemoteHostFilterRemoteIPFilter但我没有工作。

<filter> 
    <filter-name>RemoteFilter</filter-name> 
    <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class> 
    <init-param> 
     <param-name>deny</param-name> 
     <param-value>\d+\.\d+\.\d+.\d+:8080</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>RemoteFilter</filter-name> 
    <url-pattern>/my-servlet-mapping</url-pattern> 
</filter-mapping> 

我也试图实现这一目标用<Context><Valve>,但它也不能工作。

你能告诉我我做错了什么吗?

回答

2

RemoteAddrFilter的Javadoc:

具体实施RequestFilter用于过滤基础上,远程客户端的IP地址的字符串表示。

不是服务器的IP地址,而是客户端的 IP地址。

要在服务器端口上过滤,请编写您自己的过滤器实现。