版本:Tomcat 9

问题:新安装的tomcat,访问tomcat的Server Status、Manager App、Host Manager三个页面均显示403,conf/tomcat-users.xml里已添加配置:

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

Tomcat7以上403 Access Denied错误

重启之后,还是403.

查找网上解决办法无果,大部分网上的文章都只提到了在tomcat-users.xml里添加上面的语句,无法解决,通过查阅官方文档,终于找到真正原因所在(Tomat7不需要修改下面这两个文件只有Tomcat7以上才需要修改)。

打开webapps下的host-managermanager,都有一个共同的文件夹META-INF,里面都有context.xml,这个文件的内容是:

Tomcat7以上403 Access Denied错误

<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。

找到原因了,那么修改一下这里的正则表达式即可,我们修改为所有人都可以访问,那么改成这样就可以:

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="^.*$" />
</Context>

Tomcat7以上403 Access Denied错误

修改完毕,关闭浏览器,重新打开tomcat,问题解决!

 

相关文章:

  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2022-02-14
  • 2022-12-23
猜你喜欢
  • 2022-01-29
  • 2021-07-15
  • 2022-01-23
  • 2022-12-23
  • 2021-05-18
  • 2021-07-10
相关资源
相似解决方案