在配置好Tomcat7/8后,我们往往需要访问Tomcat7/8的Manager以及Host Manager。就需要在tomcat-users.xml中配置用户角色来实现。在地址栏输入:localhost:8080访问 Tomcat,在打开的界面中,在右上角有这样三个按钮: 
  1. Server Status 
  2. Manager App 
  3. Host Manager 
   
  可是在我们配置好tomcat-users.xml后,这三个按钮往往不能都访问,要么是只能访问其中一个,或者就是两个。出现这种问题很有可能是你在配置中,角色没有添加全,尤其是在第三个按钮的配置上,第三个按钮的配置Tomcat7和Tomcat8的配置是不相同的。
  为了实现配置让三个按钮都能访问到,我们先看下tomcat-users.xml里面的一段用户配置:

  <tomcat-users>

  <role rolename="manager-gui"/>

  <role rolename="manager-script"/>

  <user username="tomcat" password="tomcat" roles="manager-gui"/>

  <user username="admin" password="admin" roles="manager-script"/>

  </tomcat-users>

<role rolename="角色名">这个是用来定义角色的,很明显rolename的属性值并不是我们随意写的。实际上,Tomcat已经为我们定义了4种不同的角色,也就是4个rolename,我们只需要使用Tomcat为我们定义的这几种角色就足够满足我们的工作需要了。

  manager-gui     #允许访问html接口(即URL路径为/manager/html/*)

  manager-script   #允许访问纯文本接口(即URL路径为/manager/text/*)

  manager-jmx   #允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)

  manager-status   #允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)

  

  特别需要说明的是:manager-gui、manager-script、manager-jmx均具备manager-status的权限,也就是说,manager-gui、manager-script、manager-jmx三种角色权限无需再额外添加manager-status权限,即可直接访问路径”/manager/status/*”。 
   
<user
username="用户名" password="密码" roles="角色(可多个)"/>这个很简单,就是用来表示用户的,其中roles对应的就是上面定义的角色,可以有多个角色,多个角色用“,”隔开即可。也可以配置多个用户。

需要访问前两个按钮,只需配置manager-*(4个按需配置)即可。 
需要访问第三个按钮,需要配置 admin-gui(HTML UI接口)或admin-script(纯文本接口)。 
如果都要访问,配置在一起即可。

下面根据Tomcat7Tomcat8分别贴出用户配置:

1Tomcat7访问Server StatusManager AppHost Manager的配置。

声明:此配置不注重安全性,只是测试。具体根据需求可删减

<role rolename="admin"/>

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user username="admin" password="admin" roles="admin,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>

2Tomcat8访问Server StatusManager AppHost Manager的配置。

声明:此配置不注重安全性,只是测试。具体根据需求可删减 
Tomcat8如果在上面配置的基础上,访问时会报403错误,所以需要修改,如果没有的话新建conf/Catalina/localhost/manager.xml
文件。 
配置内容如下:

<Context privileged="true" antiResourceLocking="false"

docBase="${catalina.home}/webapps/manager">

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />

</Context>

原文来自与邓威的博客

https://blog.csdn.net/weixian52034/article/details/53218584

tomcat访问manager的更多相关文章

  1. Tomcat 访问Manager APP报403错误

    已在conf/tomcat-users.xml中添加用户信息 但是通过外网访问该tomcat的Manager App报403错误 原因是因为tomcat进行了ip限制,导致虚拟机中能够正常进入mana ...

  2. Tomcat 访问manager app报403 解决方案(虚拟机可以正常使用,外面访问报错)

    虚拟机中Tomcat启动后,可以访问项目(虚拟机里面和外面都可以).虚拟机中能够正常进入manager app进行热部署工作,但是在外面能访问tomcat首页,点击manager app报403错误. ...

  3. Tomcat 访问 Manager App,Host Manager

     1.启动tomcat,在浏览器输入:http://localhost:8080/ 2.配置tomcat-users.xml 文件 在主目录的cong文件夹下找到tomcat-users.xml 文件 ...

  4. Tomcat学习笔记 - 错误日志 - Tomcat访问Manager apps出现401 Unauthorized错误

    原因是配置文件中未指定管理员身份. 打开tomcat>conf>tomcat-user.xml文件,添加如下代码: <role rolename="admin-gui&qu ...

  5. tomcat访问manager报404;server.xml中配置了Context path

    <Context path="" docBase="crm" debug="0" reloadable="true" ...

  6. 开启Tomcat的manager页面访问

    如何进入Tomcat的manager页面 一张图解决! 找到conf目录下的tomcat-users.xml文件,打开. <role rolename="admin-gui" ...

  7. Linux安装Tomcat,解决不能访问Manager App

      在Windows环境中安装Tomcat时,只需要在Tomcat目录下/conf/tomcat-user.xml文件增加用户就可以了.在Linux系统中添加了username还是不能访问. 一.Li ...

  8. 关于tomcat访问managerapp出现403报错的解决方法

    最近工作需要在tomct下部署war包并访问. 学了几种方法后想从Tomcat Web Application Manager去部署. 但是启动tomcat后浏览器http://localhost:8 ...

  9. Tomcat9 访问 Manager App

    1.介绍 在配置好Tomcat,我们往往需要访问Tomcat的Manager以及Host Manager.就需要在tomcat-users.xml中配置用户角色来实现.在地址栏输入:localhost ...

随机推荐

  1. Python微服务实践-集成Consul配置中心

    A litmus test for whether an app has all config correctly factored out of the code is whether the co ...

  2. React+antd+less框架搭建步骤,看吧,整的明白儿的

    1.node版本 首先你要先看下你的node版本,如果小于10,建议升级到10及以上,因为低版本的 node 在自动创建 react框架时,有配置文件跟10及以上的有比较大的差异,而且需要增加.修改的 ...

  3. idea打开Run Dashboard

    在springcloud中,通常会开启多个微服务.单个一个个开就很麻烦 如果没有发现,可以在工程目录下找.idea文件夹下的workspace.xml,在其中增加如下组件 <component ...

  4. javascript循环遍历数组输出key value

    javascript循环遍历数组输出key value用$.each方法肯定不行的 所以采用如下方法<pre> markers = []; markers[2]=3; markers[3] ...

  5. Java字符串无意识的递归

    Java中的每个类基本上都继承自Object,标准容器类自然也不例外.因此容器类都有toString()方法,并且重写了该方法,使得它生成的String结果能够表达容器本身,以及容器所包含的对象.例如 ...

  6. flask报错 KeyError: <flask.cli.ScriptInfo object at 0x000001638AC164E0>

    (flask_venv) D:\DjangoProject\flask_test>flask db init Traceback (most recent call last): File &q ...

  7. AS3中 is,as,typeof的区别

    AS3中 is,as,typeof的区别 . var my_num:Number=9;trace(typeof my_num);var my_object:Array=["语文", ...

  8. 「PKUWC2018/PKUSC2018」试题选做

    「PKUWC2018/PKUSC2018」试题选做 最近还没想好报THUSC还是PKUSC,THU发我的三类约(再来一瓶)不知道要不要用,甚至不知道营还办不办,协议还有没有用.所以这些事情就暂时先不管 ...

  9. Codeforces Round #568 Div. 2

    没有找到这场div3被改成div2的理由. A:签到. #include<bits/stdc++.h> using namespace std; #define ll long long ...

  10. HA 高可用集群概述及其原理解析

    HA 高可用集群概述及其原理解析 1. 概述 1)所谓HA(High Available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件 ...