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