Tomcat7/8访问Server StatusManager AppHost Manager出现403 forbidden

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat7/8访问Server StatusManager AppHost Manager出现403 forbidden相关的知识,希望对你有一定的参考价值。

在配置好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(纯文本接口)。 
如果都要访问,配置在一起即可。

下面根据Tomcat7和Tomcat8分别贴出用户配置:

1、Tomcat7访问Server Status、Manager App、Host 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"/>

2、Tomcat8访问Server Status、Manager App、Host 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

 

以上是关于Tomcat7/8访问Server StatusManager AppHost Manager出现403 forbidden的主要内容,如果未能解决你的问题,请参考以下文章

maven项目在tomcat7/8上的热部署

kkitDeploy更新公告--新上SVN及tomcat7/8/9

PHP5.6与7.3,Tomcat7与8.5的速度对比

tomcat7,8 centos7 配置apr极好教程

django-model-utils StatusModel 可以提供人类可读的状态选项吗?

windows 2012 server r2无法访问互联网