mui*_*lpp 7 tomcat tomcat7 tomcat-valve tomcat-manager
我正在尝试将所有请求限制到我的Tomcat管理器,这些请求不是来自我的IP.
到目前为止,我发现在server.xml中添加一个Valve,如下所示:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="IP"/>
Run Code Online (Sandbox Code Playgroud)
将阻止除"IP"之外的所有请求到整个Tomcat(包括webapps).有谁知道如何做同样但只适用于Tomcat经理?
顺便说一下,我正在使用Tomcat7.
Ric*_*yer 22
在[tomcat]/conf/Catalina/[hostname]创建文件manager.xml.
因此,如果您的主机名是www.yourdomainname.com和tomcat,opt/tomcat7/那将是:
/opt/tomcat7/conf/Catalina/www.yourdomainname.com/manager.xml
Run Code Online (Sandbox Code Playgroud)
在这个新创建的manager.xml 你把RemoteAddrValve上下文:
<Context antiResourceLocking="false" privileged="true" docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1|11\.22\.33\.44" denyStatus="404" />
</Context>
Run Code Online (Sandbox Code Playgroud)
用管道字符分隔多个ip地址.
我选择denyStatus=404这样可能的闯入者不会有线索甚至存在经理.
重启Tomcat.
在Tomcat8中,我已经在中找到RemoteAddrValve C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\manager\META-INF\context.xml,只需要取消注释即可...
<Context antiResourceLocking="false" privileged="true" >
<!--
Remove the comment markers from around the Valve below to limit access to
the manager application to clients connecting from localhost
-->
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>
Run Code Online (Sandbox Code Playgroud)
我在阀中添加了@acdhirr的建议以否认状态denyStatus="404",这也起作用。
| 归档时间: |
|
| 查看次数: |
15784 次 |
| 最近记录: |