tomcat8 tomcat-users相关配置

本文介绍如何配置 Tomcat 8 的 manager 和 host-manager 应用以实现远程访问控制。通过修改 context.xml 中的 RemoteAddrValve 设置及 tomcat-users.xml 来分配不同角色权限。

tomcat8以前配置tomcat-users.xml就能访问manager和host-manager项目, 来管理和查看tomcat状态.

再tomcat8开始, 只修改tomcat-users还是会出现403, 禁止访问.

原因是tomcat8开始, 默认只能本机访问管理项目, 再host-manager和manager项目下的/META-INF/下有个context.xml

里面默认启用了访问控制:

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

context.xml可以将上面的注释掉, 也可以将allow改为\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1即可


tomcat-users.xml

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="test" password="test" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>

有6个角色, 分别是manager=(manager-gui, manager-script), manager-jmx, manager-status, admin=(admin-gui,admin-script), 为了细粒度控制, 所以再manager和admin角色上分出来更细的角色, 角色名称固定的, 不是自定义的.



### Tomcat 8.5.13 配置文件复制失败问题的解决方案 在配置 Tomcat 8.5.13 的过程中,如果遇到 `tomcat-users.out.xml` 文件复制失败的问题,并提示“系统找不到指定的文件”,这通常是由于以下几个原因导致的: #### 1. 文件路径错误或文件名不正确 确保在操作过程中引用的文件名和路径是正确的。根据引用内容[^1],实际需要修改的文件为 `tomcat-users.xml` 而非 `tomcat-users.out.xml`。检查是否误将文件名写错。 #### 2. 文件权限不足 如果在尝试复制或修改 `tomcat-users.xml` 文件时遇到权限问题,可能是因为当前用户没有足够的权限访问或修改该文件。可以尝试以下方法解决: - 使用管理员权限打开编辑器(如记事本)。 - 确保 Tomcat 服务已停止运行后再进行文件修改,避免文件被占用。 #### 3. Tomcat 版本兼容性问题 引用内容提到 Tomcat 8.5.13 存在启动报错的问题[^2],建议升级到更稳定的版本(如 8.5.16)。如果问题仍然存在,可能是新版本对配置文件格式有更严格的要求。因此,在修改 `tomcat-users.xml` 文件时,请严格按照以下格式添加内容[^1]: ```xml <tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="tomcat" password="s3cret" roles="manager-gui,manager-script,manager-jmx,manager-status" /> </tomcat-users> ``` #### 4. Eclipse 中的 Servers 配置问题 如果通过 Eclipse 配置 Tomcat 服务器,可能会出现文件同步问题。确保在 Eclipse 的 Servers 视图中正确配置Tomcat 的安装路径,并且手动同步了 `tomcat-users.xml` 文件。可以通过以下步骤验证: - 在 Eclipse 的 Servers 视图中右键单击 Tomcat 服务器实例,选择 **Refresh**。 - 确认 `Servers` 项目下的 `tomcat-users.xml` 文件内容与实际安装目录中的文件一致。 #### 5. 其他常见问题 根据引用内容[^4],有时会因为项目中引入了低版本的 `servlet-api.jar` 或其他冲突库导致问题。确保项目的依赖库与 Tomcat 版本匹配,避免不必要的 jar 包冲突。 最后,重启 Tomcat 服务并测试是否能够正常访问管理页面。例如,打开浏览器访问 `http://localhost:8080/manager/html` 并使用配置的用户名和密码登录验证。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值