Ubuntu 22.04 VPS上Tomcat 9.0.82 Manager App登录授权失败
Tomcat 9.0.82 Manager App 无权访问问题排查与解决
1. 修正角色拼写错误
你的tomcat-users.xml中用户角色存在拼写错误:standar应为standard,错误的角色名会导致权限匹配失效。修改后的配置如下:
<role rolename="manager-gui"/> <role rolename="admin-gui"/> <role rolename="standard"/> <user username="admin" password="12345" roles="admin-gui,standard,manager-gui"/>
2. 解除Manager App的IP访问限制
Tomcat默认限制Manager App仅允许本地(127.0.0.1)访问,远程VPS需修改IP白名单:
- 找到Tomcat安装目录下的
webapps/manager/META-INF/context.xml文件 - 注释掉或修改其中的
Valve配置,允许远程IP访问。示例:<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> <!-- 生产环境建议指定你的公网IP,以下为测试用允许所有IP的配置 --> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow=".*" />
3. 确认配置文件路径正确性
确保你修改的是Tomcat实际加载的tomcat-users.xml。可通过以下命令查找Tomcat的配置目录:
ps aux | grep tomcat
查看输出中的-conf参数对应的路径,验证该路径下的tomcat-users.xml为你修改的文件。
4. 彻底重启Tomcat
执行完整的停止和启动操作,避免缓存残留:
# 停止Tomcat sudo systemctl stop tomcat # 等待几秒后启动 sudo systemctl start tomcat # 验证运行状态 sudo systemctl status tomcat
完成以上操作后,重新尝试登录Manager App即可。
内容的提问来源于stack exchange,提问作者Ing. Joel Santana
相关产品推荐
相关产品推荐

