Apache Tomcat 9无法访问管理器webapp

Ale*_*xMI 11 apache tomcat

我成功安装了Apache Tomcat 9,并在servername:8080上访问.

我按照文档访问经理网络应用程序,并:

  • 打开$ CATALINA_HOME/conf/tomcat-user.xml
  • <role rolename="manager-gui"/>
  • <user username="tomcat" password="s3cret" roles="manager-gui"/>
  • $ CATALINA_HOME/bin/catalina.sh停止
  • check servername:8080已关闭
  • $ CATALINA_HOME/bin/catalina.sh启动
  • 检查服务器名称:8080已启动
  • servername:8080/manager/html返回HTTP状态403 - 禁止

我找不到我错过的配置,并且会对任何帮助或建议都很满意.

Ale*_*xMI 15

我想分享我在这里找到的解决方案,而不是在明确的答案中,而是在淡入淡出的答案中.

CATALINA_HOME/webapps/manager/META-INF/context.xml中注释Valve属性并重新启动Tomcat解决了问题,我现在可以评估Web管理器


小智 12

请更改context.xml文件中的allow属性值,该文件位于webapps/manager/META-INF文件夹中.

旧配置

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
Run Code Online (Sandbox Code Playgroud)

更改为新配置

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="\d+\.\d+\.\d+\.\d+" />
Run Code Online (Sandbox Code Playgroud)

这将允许从所有IP地址远程访问管理器以进行登录.此外,您将无法获得403访问被拒绝页面


小智 7

即使我有同样的问题,Tomcat 9.0.20

我完全评论了 Valve 标签(/tomcat/webapps/manager/META-INF)。所以我的 context.xml 如下所示

<Context antiResourceLocking="false" privileged="true" >
  <!--
    Remove the comment markers from around the Valve below to limit access to
    the 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" />
  -->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFil$
</Context>
Run Code Online (Sandbox Code Playgroud)

然后在 tomcat-users.xml ( /tomcat/conf/ ) 我做了

<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<user username="user" password="user@123" roles="manager-gui"/>
<user username="guest" password="guest123" roles="tomcat"/>
Run Code Online (Sandbox Code Playgroud)

现在我可以使用 user 和 user@123 凭据登录。

  • context.xml 上的“经理”标签格式错误 (2认同)