Tomcat -- 05 -- tomcat-users.xml配置文件详解

原文链接:Tomcat – 05 – tomcat-users.xml配置文件详解


相关文章:


当我们在服务器上部署好 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 时,输入用户名和密码后,就可以正常访问了
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值