zoukankan      html  css  js  c++  java
  • 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,问题解决!

  • 相关阅读:
    谷歌浏览器(Google Chrome)开发调试详细介绍
    Js调试技巧
    Spring框架集成FreeMarker
    Spring MVC + freemarker实现半自动静态化
    Django学习路4_数据库添加元素,读取及显示到网页上
    数据库设计基础知识
    Django创建简单数据库
    list 和 [ ] 的功能不相同
    Django坑_01
    爬虫流程复习3
  • 原文地址:https://www.cnblogs.com/luoruiyuan/p/6518508.html
Copyright © 2011-2022 走看看