tomcat访问host-manager出现403问题解决

Tomcat部署启动之后,在Tomcat首页访问host-manager或者manager app的时候会提示403错误,这是因为没有权限!

tomcat访问host-manager出现403问题解决

解决方法,一共分两步:

1、查看是否添加用户和角色:

[[email protected] conf]# vi tomcat-users.xml
进入到tomcat的conf目录下,编辑tomcat-users.xml配置文件
添加manager-script角色,并赋予角色给admin
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui,manager-script"/>


2、查看是否IP做了限制

打开webapps下的host-manager和manager,都有一个共同的文件夹META-INF,里面都有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" />
</Context>


通过查看官方文档,知道,这段代码的作用是限制来访IP的,127.d+.d+.d+|::1|0:0:0:0:0:0:0:1,是正则表达式,表示IPv4和IPv6的本机环回地址,所以这我们本机可以访问管理界面,但是其他机器则是403错误。
如果需要其他机器也访问,则可以设置allow,设置为allow="^.*$" 表示允许任何ip访问;
<Context privileged="true" antiResourceLocking="false"
         docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>


修改完毕,关闭浏览器,重新打开tomcat,访问host-manager可以正常访问了,问题解决!