Tomcat8.5管理页面403 Access Denied的解决方法

安装tomcat之后,访问server status、manager app、host manager等页面,出现403 Access Denied错误,
 

Tomcat8.5管理页面403 Access Denied的解决方法  

 

解决方法:

1.  在conf/tomcat-users.xml文件里面,在</tomcat-users>前面添加如下代码:

          <role rolename="manager-gui"/>

         <user username="tomcat" password="admin888" roles="manager-gui"  />

      注:如果要访问host manager,还需要做一些修改,改成如下:

          <role rolename="manager-gui"/>

          <role rolename="admin-gui"/>

         <user username="aerchi" password="aerchi.com" roles="manager-gui,admin-gui"  />

     然后重启tomcat,重新访问manager app页面,如果此时仍然出现403 Access Denied错误,

     那么就是访问的ip地受到了限制,

 

2.  我们打开webapps/manager/META-INF/目录下context.xml文件,不是conf/目录下的context.xml文件

我们将里面的内容注释掉或者修改

<!--aerchi.com-->
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192\.168\.128\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

表示:允许本地回环地址及192.168.128.0网段访问,你需要修改为你访问网段的地址或者具体的IP。

比如:所在网段是192.168.1.0,可以写成192\.168\.1\.\d+;或者允许192.168.1.100访问,写成192\.168\.1\.100

 

注:如果要访问host manager,还需要修改webapps/host-manager/META-INF/目录下的context.xml文件,修改内容和上面一样。

保存,然后重启tomcat,重新访问server status、manager app页面,输出上面设置的用户名和密码,即可访问页面。

Tomcat8.5管理页面403 Access Denied的解决方法


Tomcat 的路径重写:

首先有一个可以在tomcat上运行的webapp,你的server.xml(位于$CATALINA_HOME/conf/)<Host>标签正常应该是这样的:

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt"/>
</Host>


在server.xml配置webapp重写机制,在server.xml里的<Host>标签配置如下context 标签: 
docBase 代表重定向路径,
path代表访问相对路径。

<Context docBase="YourWebName" path="/" reloadable="true" crossContext="true">
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve"/>
</Context>

Or
<Context path="/aerchi/run" docBase="E:/WebServer/apache-tomcat/webapps/aerchi" reloadable="true"></Context>

乐意黎