无权访问页面翻译:
您无权查看此页面。 默认情况下,主机管理器只能从运行在 与 Tomcat 同一台机器。如果要修改此限制,则需要 以编辑主机管理器的context.xml文件。 如果您已将 Host Manager 应用程序配置为允许访问 并且您使用了浏览器的后退按钮,使用了保存的书签或 类似,则您可能触发了跨站点请求伪造 (CSRF) 已为 Host Manager 的 HTML 界面启用的保护 应用。您需要通过返回主机管理器主页来重置此保护。 返回此页面后,您将能够继续使用 Host Manager 应用程序的 HTML 界面正常。如果您继续看到此 访问被拒绝的消息,请检查您是否具有必要的权限 访问此应用程序。 如果您没有更改 任何配置文件,请检查安装中的文件 conf/tomcat-users.xml。那 文件必须包含凭据才能让您使用此 Web 应用程序。 例如,要将 admin-gui 角色添加到密码为 s3cret 的名为 tomcat 的用户,请将以下内容添加到 上面列出的配置文件。 <role rolename=”admin-gui”/> <user username=”tomcat” password=”s3cret” roles=”admin-gui”/> 请注意,对于 Tomcat 7 及更高版本,使用主机管理器所需的角色 应用程序已从单一管理员角色更改为 以下两个角色。您需要分配所需的角色 您希望访问的功能。 admin-gui – 允许访问 HTML GUI admin-script – 允许访问文本界面 HTML 接口受 CSRF 保护,但文本界面不受保护。 要维护 CSRF 保护,请执行以下作: 不应向具有 admin-gui 角色的用户授予 admin-script 角色。 如果文本界面是通过浏览器访问的(例如,用于测试 由于此界面适用于工具而不是人类),因此浏览器 之后必须关闭才能终止会话。
解决方式:
步骤 1: 配置 Tomcat 管理用户
首先,你需要创建一个有权限访问管理界面的用户。
找到配置文件:使用文本编辑器(如 vim或 nano)打开 Tomcat 的用户配置文件。
vim /usr/local/tomcat/conf/tomcat-users.xml
添加用户和角色:在 文件内<tomcat-users>标签内部输入代码创建一个用户 admin,并授予其访问管理界面(manager-gui)和主机管理界面(admin-gui)的权限。
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="your_strong_password" roles="manager-gui,admin-gui"/>
注意:请务必将 your_strong_password替换为一个高强度的密码。
步骤 2: 修改 IP 访问限制(关键步骤)
这是解决远程访问问题的核心步骤,需要修改两个应用各自的配置文件。
- 修改 Manager App 的IP限制:
- 打开文件:
webapps/manager/META-INF/context.xml。 - 找到包含
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"的一行(这是一个 Valve 配置)。 - 将其修改为允许所有IP地址访问(出于安全考虑,这仅建议在测试环境使用):
allow=".*" /> - 或者,更安全的做法是只允许你的本地公网IP段,例如
allow="123\.45\.67\..*"(将123.45.67替换为你本地IP的前三段)。
- 打开文件:
- 修改 Host Manager 的IP限制:
- 同样地,打开文件:
webapps/host-manager/META-INF/context.xml。 - 进行与第一步完全相同的修改。
- 同样地,打开文件:
步骤 3: 重启 Tomcat 并验证
所有配置修改完成后,需要重启Tomcat服务以使更改生效。
# 进入Tomcat的bin目录
cd /usr/local/tomcat/bin/
# 停止Tomcat
./shutdown.sh
# 启动Tomcat
./startup.sh
重启后,再次在本地浏览器中访问 http://你的云服务器IP:8080/manager/html或 http://你的云服务器IP:8080/host-manager/html,此时应该会弹出登录窗口。使用刚才设置的 admin用户名和密码即可成功登录。
