【问题标题】:Apache Tomcat 9 unable to access manager webappApache Tomcat 9 无法访问管理器 webapp
【发布时间】:2017-04-05 13:38:03
【问题描述】:

我成功安装了 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 停止
  • 检查服务器名称:8080 已关闭
  • $CATALINA_HOME/bin/catalina.sh 启动
  • 检查 servername:8080 是否已启动
  • servername:8080/manager/html 返回 HTTP 状态 403 - 禁止

我找不到我缺少的配置,如果提供任何帮助或建议,我将不胜感激。

【问题讨论】:

标签: apache tomcat


【解决方案1】:

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

旧配置

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

更改为新配置

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="\d+\.\d+\.\d+\.\d+" />

这将允许从所有 IP 地址远程访问 ma​​nager 以进行登录。此外,您不会得到 403 拒绝访问页面

【讨论】:

  • 这为我解决了这个问题。我担心如果您的网络依赖于 ipv6,它将无法正常工作。
【解决方案2】:

我想分享我找到的解决方案 here 不是在标记的答案中,而是在 fade 的答案中。

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

【讨论】:

    【解决方案3】:

    即使我有同样的问题,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>
    

    然后在 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"/>
    

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

    【讨论】:

    • 您在 context.xml 上的“经理”标签格式错误
    【解决方案4】:

    快速而肮脏地访问 tomcat 9 中的所有链接

    在tomcat-users.xml中添加:

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

    然后重启 catalina stopcatalina start

    (对于我在 macOS 上使用自制软件,文件位于 /usr/local/Cellar/tomcat/9.0.43/libexec/conf/tomcat-users.xml

    【讨论】:

      【解决方案5】:

      大家好。

      警告,如果您使用最新版本的主要浏览器,它可能无法工作,因为它可能被公司政策禁用,或者可能无法支持 http 基本身份验证。不知道为什么,但只有 Internet Explorer 拯救了这一天,不能在 chrome 或 edge 上工作。

      Internet Explorer 已死! Internet Explorer 万岁!这个问题救了我。

      祝你有美好的一天。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-03
        • 2018-11-17
        • 2018-11-15
        • 2017-01-17
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 2011-03-09
        相关资源
        最近更新 更多