Tomcat阀门设置

我认为存在某种配置问题。我需要保护我实际的tomcat应用程序中的一个文件夹,以防止从某个IP范围进行访问。

我认为这是serverfault,所以我张贴的问题存在。现在我不确定这是SO还是SF …

不过,我一直尝试自己动手做,发现我需要设置

org.apache.catalina.valves.RemoteAddrValve

为我的那个文件夹。可悲的是,我只是无法到达进行该设置的位置。web.xml,server.xml?两者都尝试过,没有成功。任何人都可以帮我这个忙。

tia

ķ

回答:

它应该放在<Context>server.xml中的元素中:

<Context

path="/tcadmin"

docBase="${catalina.home}/server/webapps/admin"

privileged="true"

>

<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="127\.0\.0\.1"

/>

</Context>

请记住,字符串值是正则表达式模式,因此特殊的正则表达式字符(例如dot(。))必须以反斜杠转义。

:回复OP的评论。我认为您需要在Web应用程序中实现FILTER并将其配置为根据其远程地址IP接受或拒绝请求。可以从ServletRequest传递给doFilter方法的对象中检索远程地址。

您在web.xml文件中声明一个过滤器:

<filter>

<filter-name>GatekeeperFilter</filter-name>

<filter-class>your.package.GatekeeperFilter</filter-class>

<init-param>

<param-name>allowedNetwork</param-name>

<param-value>192\.168\.2\.*</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>GatekeeperFilter</filter-name>

<url-pattern>/path/to/protected/folder</url-pattern>

</filter-mapping>

阅读链接的文章,了解接受初始参数需要做什么。我认为,根据您的决策,您可以毫不客气地从RequestDumperValve复制代码。

以上是 Tomcat阀门设置 的全部内容, 来源链接: utcz.com/qa/404981.html

回到顶部