在 Tomcat 部署后访问 Server Status、Manager App、Host Manager时,均会出现403 Access Denied 页面,如下图所示:
解决方案:
修改Tomcat的 安装路径下的tomcat-users.xml 文件(默认路径为:C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf下)
将:<user username="admin" password="admin" roles="manager-gui,admin-gui" />
修改为:
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user rolename="manager-script"/>
<user rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui,manager-jmx,manager-script,manager-status,admin-gui,admin-script" />
修改完保存后重启 Tomcat 服务,此时在Tomcat所在电脑的浏览器内使用127.0.0.1:8080可以正常打开管理页面了,但使用IP访问任然会报403 Access Denied;如需实现在别的电脑通过IP地址也能访问 Tomcat 的管理页面则还需修改如下的配置文件:
将C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\manager\META-INF\context.xml
与C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\host-manager\META-INF\context.xml
2个文件内的<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />均注释掉,如下图所示:
再次重启 Tomcat 服务,此时无论在Tomcat所在电脑使用127.0.0.1:8080或者是在别的电脑使用IP地址访问 Tomcat 的 管理页面都可以正常访问了