• Tomcat7以上403 Access Denied错误


    版本: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" />
    

    重启之后,还是403.

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

    打开webapps下的host-managermanager,都有一个共同的文件夹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。

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

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

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

  • 相关阅读:
    Mybatis使用resultType实现一对一查询
    利用webSocket使网页和服务器通信
    hdu--1728--special bfs
    hdu--1429--状压bfs
    hdu--3006--不知为何wa
    hdu--3001--类似旅行商<tsp>
    hdu--2660--二维费用背包
    hdu--4632--dp
    hdu--4497--数论
    hdu--4496--并查集
  • 原文地址:https://www.cnblogs.com/luoruiyuan/p/6518508.html
Copyright © 2020-2023  润新知