相关文章:
当我们在服务器上部署好 Tomcat 并运行之后,此时我们去访问 Tomcat 的默认页面,点击 Server Status、Manager App、Host Manager 时,会报 403 异常,这是由于我们没有配置 Tomcat 的用户名和密码导致的,我们可以通过 tomcat-users.xml 配置文件来进行设置
官方文档 --> Manager App How-To
官方文档 --> Host Manager App – Text Interface
一、服务作用
服务 | 作用 |
---|---|
Server Status | 查看 Tomcat 服务的状态信息 |
Manager App | 查看 Tomcat Web 应用管理器 |
Host Manager | 查看 Tomcat 虚拟机管理器 |
二、角色作用
-
Server Status、Manager App
角色 作用 manager-gui 访问 HTML 页面 manager-status 仅访问 “服务器状态” 页面 manager-script 访问脚本页面,以及 “服务器状态” 页面 manager-jmx 访问 JMX 代理接口和 “服务器状态” 页面 -
Host Manager
角色 作用 admin-gui 访问 HTML 页面 admin-script 访问脚本页面
三、修改配置文件
-
修改 tomcat-users.xml
-
cd /usr/local/tomcat/apache-tomcat-9.0.19/conf
-
vim tomcat-users.xml
<role rolename="admin-gui" /> <role rolename="manager-gui" /> <user username="admin" password="admin" roles="admin-gui,manager-gui" />
-
:wq
-
-
如上所示,只需要配置两个角色:admin-gui 和 manager-gui,再配置一个用户名和密码就可以了,但在修改完重启 Tomcat 后,再次去点击 Server Status、Manager App、Host Manager 时,还是会报 403 异常,这是由于 Tomcat 做了 IP 的访问限制 (默认只能本机访问)
-
因此我们需要解除 Tomcat 的 IP 访问限制,还需要修改下两个 context.xml 配置文件
-
第一个 context.xml 配置文件
-
cd /usr/local/tomcat/apache-tomcat-9.0.19/webapps/manager/META-INF
-
vim context.xml
<Context antiResourceLocking="false" privileged="true" > <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
- 如上所示,将限制 IP 访问的语句注释掉即可
-
:wq
-
-
第二个 context.xml 配置文件
-
cd /usr/local/tomcat/apache-tomcat-9.0.19/webapps/host-manager/META-INF
-
vim context.xml
<Context antiResourceLocking="false" privileged="true" > <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
- 同理,将限制 IP 访问的语句注释掉即可
-
:wq
-
-
四、访问
- 此时,我们再去点击 Server Status、Manager App、Host Manager 时,输入用户名和密码后,就可以正常访问了