java - 将war文件上传到tomcat8时出现403访问被拒绝错误

标签 java tomcat8

我可以登录并访问管理器页面,但是当我尝试上传 war 文件时,失败并出现 403 错误。我已经在 tomcat-users.xml 中添加了权限,这是相关行:

<user username="admin" password="password123" roles="admin,manager-gui,admin-gui"/>

/usr/share/tomcat8-admin/manager/META-INF/context.xml 中的 Valve 类已被注释掉。

<Context antiResourceLocking="false" privileged="true" >
  <!--
    Remove the comment markers from around the Valve below to limit access to
    the host-manager application to clients connecting from localhost
  -->
  <!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->
</Context>

当我尝试上传 war 文件时,我仍然收到消息:

403 Access Denied

You are not authorized to view this page.

If you have already configured the Manager application to allow access and you have used your browsers back button, used a saved book-mark or similar then you may have triggered the cross-site request forgery (CSRF) protection that has been enabled for the HTML interface of the Manager application. You will need to reset this protection by returning to the main Manager page. Once you return to this page, you will be able to continue using the Manager appliction's HTML interface normally. If you continue to see this access denied message, check that you have the necessary permissions to access this application.

If you have not changed any configuration files, please examine the file conf/tomcat-users.xml in your installation. That file must contain the credentials to let you use this webapp.

For example, to add the manager-gui role to a user named tomcat with a password of s3cret, add the following to the config file listed above.

<role rolename="manager-gui"/> 
<user username="tomcat" password="s3cret" roles="manager-gui"/>
Note that for Tomcat 7 onwards, the roles required to use the manager application were changed from the single manager role to the following four roles. You will need to assign the role(s) required for the functionality you wish to access.

manager-gui - allows access to the HTML GUI and the status pages
manager-script - allows access to the text interface and the status pages
manager-jmx - allows access to the JMX proxy and the status pages
manager-status - allows access to the status pages only
The HTML interface is protected against CSRF but the text and JMX interfaces are not. To maintain the CSRF protection:

Users with the manager-gui role should not be granted either the manager-script or manager-jmx roles.
If the text or jmx interfaces are accessed through a browser (e.g. for testing since these interfaces are intended for tools not humans) then the browser must be closed afterwards to terminate the session.
For more information - please see the Manager App HOW-TO.

最佳答案

不要忘记查看日志。我遇到了完全相同的异常,但根本原因是:超出最大文件大小

HTMLManager: FAIL - Deploy Upload Failed, Exception: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: 
the request was rejected because its size (54463322) exceeds the configured maximum (52428800)

关于java - 将war文件上传到tomcat8时出现403访问被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44057093/

相关文章:

java - contextInitialized 时 Jersey ClassNotFoundException

Java 8 : read files with special characters in name

java - 如何在Linux环境下为Tomcat实例设置java -Djava.library.path ="\home\path.SomeFile.so"?

java - 如何获取在 SSL 握手中生成的对称 key ?

java - Tomcat8 ClassNotFoundException 基本数据源工厂

java - Eclipse,通过 setter 初始化对象的简短方法

java - 用不同的值替换长字符串的一部分

java - Android - 视频文件的缩略图

java - 为什么会出现空指针异常呢?

java - 通知有效,但无法播放附加的音频文件 (.mp3)