Tomcat【部署 02】Web端403 Access Denied You are not authorized to view this page解决方法(Tomcat 10.2.12 版本)

简介: Tomcat【部署 02】Web端403 Access Denied You are not authorized to view this page解决方法(Tomcat 10.2.12 版本)

1. 问题说明

启动Tomcat之后,我们常常是要打开Web端进行验证,其实Web端的功还有很多,但是有一些管理页面权限不足:

我们点击 Manager Status 或 Manager App 链接之后会报错 403 Access Denied You are not authorized to view this page :

而点击 Host Manager 链接之后报错信息不同:

2. 问题解决

2.1 修改配置文件

403页面提到的第 1️⃣ 个文件:默认情况下,只能从运行在与 Tomcat 相同机器上的浏览器访问Manager。如果您希望修改此限制,则需要编辑 Manage r的 context.xml 文件。查看以下:

<!-- The contents of this file will be loaded for each web application -->
<Context>
    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
    <!-- Uncomment this to enable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="SESSIONS.ser" />
    -->
</Context>
vim /usr/local/tomcat/conf/context.xml

context.xml里有两方面的描述,一个是检测资源的配置(文件修改则会重新加载),另一个是session会话的使用。似乎没有权限相关的说明,我们取消第二部分的注释以便在Tomcat重启后保持会话。

403页面提到的第 2️⃣ 个文件: conf/tomcat-users.xml That file must contain the credentials to let you use this webapp. 该文件必须包含允许您使用此webapp的凭据。【满满的角色权限相关的说明】 我们按照举例修改 tomcat-users.xml 文件添加角色和用户:

vim /usr/local/tomcat/conf/tomcat-users.xml

在<tomcat-users></tomcat-users>标签内添加以下信息:

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

❗️❗️❗️ 注意: 重启 Tomcat 后再次访问 Manager Status 或 Manager App 页面,不出意外的话还是会报 403 Access Denied 错误的,为什么呢?我们再认真看看报错信息:

  • 访问 Manager Status 或 Manager App 页面时的报错信息:

If you wish to modify this restriction, you’ll need to edit the Manager's context.xml file.

  • 访问 Host Manager 页面时的报错信息:

If you wish to modify this restriction, you’ll need to edit the Host Manager's context.xml file.

此时才明白403页面说的 context.xml 并非 $CATALINA_HOME/conf/ 下的 context.xml 文件,而是 $CATALINA_HOME/webapps/manager/META-INF/context.xml $CATALINA_HOME/webapps/host-manager/META-INF/context.xml 这两个文件,全部修改 RemoteAddrValve 的值:

<!-- RemoteAddrValve的原始值 -->
 <Valve className="org.apache.catalina.valves.RemoteAddrValve" 
 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
 <!-- RemoteAddrValve修改后的值(其实就是释放所有IP的访问权限) -->
 <Valve className="org.apache.catalina.valves.RemoteAddrValve" 
allow="\d+\.\d+\.\d+\.\d+" />
2.2 重启登录

重新启动后,点击 Server Status 或 Manager App 页面,需要登录,此时输入 tomcat-users.xml 文件设置的用户及密码:

登录成功后 Server Status 可以查看服务器状态:

Manager App 可以在Web页面上部署项目:

而 Host Manager 页面需要再次进行登录(密码相同)可以管理虚拟主机:

至此,全部的 Web端 403 Access Denied 问题解决~

目录
相关文章
|
1月前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
186 84
部署tomcat部署实战案例
|
1月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
1月前
|
安全 Java 应用服务中间件
Windows版本的Tomcat无法启动,如何处理?
Windows版本的Tomcat无法启动,如何处理?
82 14
|
9天前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
42 0
|
12天前
|
Java 应用服务中间件 Apache
浅谈Tomcat和其他WEB容器的区别
Tomcat是一款轻量级的免费开源Web应用服务器,常用于中小型系统及并发访问量适中的场景,尤其适合开发和调试JSP程序。它不仅能处理HTML页面,还充当Servlet和JSP容器。相比之下,物理服务器是指具备处理器、硬盘等硬件设施的服务器,如云服务器,其设计目标是在处理能力、稳定性和安全性等方面提供高标准服务。简言之,Tomcat专注于运行Java应用,而物理服务器则提供基础计算资源。
|
1月前
|
前端开发 JavaScript
构建你的第一个Web应用:从零到部署
【8月更文挑战第33天】 在这篇文章中,我们将一起踏上构建一个基本Web应用的旅程。不同于传统的“安装这个、运行那个”教程,我们的目标是通过理解每一步的意义和目的来深化你的技术理解。我们将探索HTML、CSS、JavaScript的基础,并学习如何将它们结合起来创建一个简单的个人网站。接着,我们会介绍如何使用GitHub Pages进行免费部署,让你的应用上线。准备好了吗?让我们开始吧!
|
1月前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
1月前
|
前端开发 Java 应用服务中间件
react自学(6) 部署到tomcat中
react自学(6) 部署到tomcat中
|
1月前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
46 0
|
2月前
|
Java UED 自然语言处理
Struts 2 国际化竟有如此神奇魔力?快来揭开多语言支持的 Web 应用神秘面纱
【8月更文挑战第31天】在全球化背景下,Web应用需适应多种语言环境。Struts 2凭借其强大的国际化(i18n)支持,简化了多语言应用开发。通过不同语言的资源文件,它能自动匹配用户语言偏好,优化用户体验并扩展用户群。下面是一个示例:创建`messages.properties`(英语)与`messages_zh_CN.properties`(中文),并在Struts 2的Action类及JSP页面中调用`getText()`方法及Struts标签展示相应语言内容。此外,在struts.xml中指定资源文件,以确保框架正确加载对应语言包。通过这些步骤,开发者可以轻松实现应用的多语言支持。
60 0