Tomcat访问 manager页面 报403的解决办法

外网配置好manager用户以后访问manager/status页面结果提示403错误还有一堆英文错误,第一句话明显标示了是要在context.xml配置东西。

打开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的,allow中的内容是正则表达式,表示IPv4和IPv6的本机环回地址,也就是说本地才可以访问,其他IP是不可以访问的。

找到原因了,那么去掉这段代码即可,任意IP都可以访问。

 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

但是这也就带来了不安全因素,我们可以只允许特定网段202.136.60.*访问管理页面,那么改成这样就可以:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"

     allow="202.136.60.*" />

</Context>

当然你也可以使用Nginx做前端代理访问,然后就不用修改任何配置了。

最后重启Tomcat就可以访问了。
123.png

qrcode_for_gh_bf7a27ade681_258.jpg

作者: 小柒

出处: https://blog.52itstyle.com

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(345849402@qq.com)咨询。