首页 > 解决方案 > Tomcat 管理器应用程序:无权查看页面

问题描述

我尝试从 Docker 部署我的应用程序。在 Dockerfile 中:

  FROM tomcat:9-jre8-alpine
  ADD config/tomcat-users.xml  /usr/local/tomcat/conf/tomcat-users.xml
  ADD config/settings.xml /usr/local/tomcat/conf/settings.xml
  ADD config/context.xml /usr/local/tomcat/webapps/manager/META-INF/context.xml
  ADD target/author.war /usr/local/tomcat/webapps/ROOT.war
  EXPOSE 8080
  CMD ["catalina.sh","run"]

所以,在 tomcat-users.xml 中:

 <tomcat-users xmlns="http://tomcat.apache.org/xml"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd
http://tomcat.apache.org/xml "
          version="1.0">

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

在 settings.xml 中:

    <servers>
          <server>
              <id>TomcatServer</id>
              <username>tomcat</username>
              <password>s3cret</password>
          </server>
      </servers>

在 context.xml 中:

<Context antiResourceLocking="false" privileged="true" >
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
     allow=".*" />
</Context>

但是,尝试远程访问 Tomcat 管理器应用程序(plesk 中的域),我得到:“您无权查看此页面。默认情况下,管理器只能从与 Tomcat 相同的机器上运行的浏览器访问。如果您愿意要修改此限制,您需要编辑 Manager 的 context.xml 文件...."

另外:对于 localhost-connection 它的工作良好!远程连接的问题

标签: dockertomcatwarplesk

解决方案


你检查过 manager.xml 中的阀门值吗?还有另一个带有 IP 限制的阀门节,我已禁用它。然后一切正常 /conf/Catalina/localhost/


推荐阅读