念念不忘
必有回响🎉

解决Tomcat Manager页面403Access Denied的问题

在配置Jenkins时,需要对Tomcat进行用户配置,但是新安装的Tomcat默认是无法通过localhost以外的地址对其访问,之前也处理过几次,但是老是忘了,于是在这里记录一下。

先贴张图:

此时,Manager、Status以及Host-Manager页面都会出现这个问题,解决办法:

修改webapps/manager/META-INF/context.xml配置文件,可解决Manager、Status页面的403问题。

原内容如下:

<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" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

这里可以看到Value标签限定了其他ip的访问,将其修改为如下即可解决:

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

对于host-manager来说,同样的办法,修改webapps/host-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" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

将里面的Value标签替换为下面的内容:

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

重启tomcat,此时便可以访问了。

 

赞(2) 打赏
未经允许不得转载:Charles's Blog » 解决Tomcat Manager页面403Access Denied的问题

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏