首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat管理器应用程序:未授权查看页面

问Tomcat管理器应用程序:未授权查看页面
EN

Stack Overflow用户
提问于 2020-01-13 23:05:17
回答 2查看 778关注 0票数 0

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

代码语言:javascript
复制
  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中:

代码语言:javascript
复制
 <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中:

代码语言:javascript
复制
    <servers>
          <server>
              <id>TomcatServer</id>
              <username>tomcat</username>
              <password>s3cret</password>
          </server>
      </servers>

在context.xml中:

代码语言:javascript
复制
<Context antiResourceLocking="false" privileged="true" >
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
     allow=".*" />
</Context>

但是,尝试远程访问Tomcat管理器应用程序(plesk中的域名)时,我得到了这样的提示:“您没有权限查看此page.By默认设置管理器只能从与Tomcat相同的机器上运行的浏览器访问。如果您想要修改此限制,您需要编辑管理器的context.xml文件...”

另外:对于本地主机连接,它工作得很好!远程连接中的问题

EN

回答 2

Stack Overflow用户

发布于 2021-05-29 02:19:26

这对我很有效:

1-获取图像:

代码语言:javascript
复制
docker pull tomcat:9.0.46-jdk8-adoptopenjdk-openj9

2-创建文件夹d:\folder123

3-将conf\tomcat-users.xml和\webapps\manager\META-INF\context.xml复制到d:\folder123

4-添加到tomcat-users.xml中

代码语言:javascript
复制
<role rolename="manager-gui" />
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script" />

5-从context.xml中删除以下内容

代码语言:javascript
复制
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

6-使用此内容在d:\folder123中创建Dockerfile

代码语言:javascript
复制
FROM tomcat:9.0.46-jdk8-adoptopenjdk-openj9
USER root
RUN mv /usr/local/tomcat/webapps/ /usr/local/tomcat/webapps2/
RUN mv /usr/local/tomcat/webapps.dist/ /usr/local/tomcat/webapps/
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/
CMD ["catalina.sh","run"]

7-创建名为amirimage1的新映像

代码语言:javascript
复制
docker build -t amirimage1:1.0.0 "D:\\folder123"

8-运行图像

代码语言:javascript
复制
docker run --name amirtomcatcontainer1 -p 8889:8080 amirimage1:1.0.0
票数 0
EN

Stack Overflow用户

发布于 2021-07-16 22:08:49

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59719168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档