Tomcat的默认工具manager配置,在很多的生产环境中由于基本用不到、或者是不太需要使用Tomcat默认的manager管理页面时一般都会把Tomcat的默认webapp下的内容给删除了,但是如果需要使用Tomcat默认的manager来管理项目时就需要保留相应的文件目录。在Tomcat中的webapps中有如下目录:docs(Tomcat本地说明文档)、examples(Tomcat相关的deamon示例)、host-manager(主机头管理工具)、manager(项目管理工具)、ROOT(Tomcat默认页),其中需要保留的是host-manager、manager、ROOT这3个目录而从Tomcat 6开始为了安全缺省条件下Tomcat的host-manager、manager是不能访问的(http 401拒绝),如需访问需要分配相关的角色权限,在这里就简单的说一说
首先,需要配置的配置文件是${catalina.home}/conf/tomcat-users.xml先给Tomcat访问相关的功能分配角色和配置登录验证用户密码,在最后的</tomcat-users>前面增加
<role rolename ="manager-gui"/> <role rolename ="manager-status"/> <role rolename ="manager-script"/> <role rolename ="admin-gui"/> <role rolename ="admin-script"/> <user username ="manager" password ="manager" roles ="manager-gui,manager-status,manager-script,admin-gui,admin-script"/>
此处可以配置多个角色,不同版本Tomcat所拥有的角色都不同,在生产环境中建议修改复杂度高的Tomcat用户密码,另外不需要分配所有角色权限,需要够用的即可,如果不能访问会用相应的提示,在配置好后此时再打开Tomcat的首页还是无法进入Tomcat的管理页面的,可能是IP权限的问题。
因为从Tomcat 7开始安全机制下默认仅允许本机访问Tomcat,如需远程访问Tomcat的管理页面还需要配置相应的ip允许规则,配置manager的contest.xml可以在${catalina.home}/conf/Catalina/localhost目录下配置2个contest.xml文件,也可以写成一个,但是建议写成2个便于日常的权限管理,如下:
manager.xml:
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^192.168.*$" /> </Context>
host-manager.xml:
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^192.168.*$" /> </Context>
其中allow中是填ip可以使用正则表达式匹配,在内网中建议写成匹配某某网段可以访问的形式,如此Tomcat的manager页面访问配置就完成了