无法访问Tomcat 8 Manager应用

我刚刚在Ubuntu 14.04 VM上设置了Tomcat

8,但无法http://[hostname]:8080/manager/html从浏览器访问Manager应用程序。单击它后,我收到“

403访问被拒绝”错误。我正在将Tomcat作为服务在中的配置文件中定义/etc/init.d/tomcat8-dev。错误消息表明Tomcat最初设置为仅可从本地主机访问,但是由于它是托管VM,因此我无法在其上运行浏览器。

我已经tomcat-

users.xml按照几个人的建议在文件中设置了一个用户。但是,没有提示我提供该用户的凭据,并且在默认页面上找不到任何类型的登录按钮。该文件当前如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<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"

version="1.0">

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-gui"/>

<role rolename="manager-status"/>

<user username="(redacted)" password="(redacted)"

roles="manager-gui,manager-jmx,manager-status,manager-script"/>

</tomcat-users>

阅读此处的Tomcat文档页面之后,我还尝试过将<Valve />标签添加到context.xml看起来像这样的地方:

<Context privileged="true" antiResourceLocking="false"

docBase="${catalina.home}/webapps/manager">

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

<!--Another valve for my local machine's IP-->

</Context>

但是,一旦设置好privileged="true",无论我随后提供什么功能,使用浏览器连接到服务器时,我都会得到白页。

sudo service tomcat8-dev restart每当我进行更改时,我都会重新启动服务。

根据我在此处和其他网站上发布的帖子,我尝试了其他操作:

  • 我的tomcat用户的角色的各种配置
  • 添加address="0.0.0.0"server.xml里面<Connector />的标签
  • 使用initctl而不是根据此处的说明设置服务,由于某种原因,该服务不会在服务器上加载默认页面
  • 尝试使用其他浏览器,并禁用我的弹出窗口阻止程序

我没有尝试过任何工作。如果您想了解我的情况的更多详细信息,请告诉我。有什么建议么?

问题是我编辑了错误的context.xml文件。正确的文件在中tomcat/webapps/manager/META-

INF。我错误地对进行了更改tomcat/conf/context.xml

回答:

AFAIK Tomcat在其默认配置中阻止除本地主机以外的所有主机对Manager App(manager / html)的访问。

为了能够使用http:// [主机名]:8080 / manager /

html访问管理器GUI ,请在管理器应用程序的配置文件

server.xmlcontext.xml 中进行配置:

在[tomcat-install-dir] /conf/server.xml中,编辑 Connector

元素,并添加IP以及useIPVHosts =“ true”,即:

<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" 

address="192.168.0.9" useIPVHosts="true" />

address="0.0.0.0" 可能不是您要在此处插入的内容,因为它会将管理器GUI公开给网络上的所有计算机。

在[tomcat-install-dir] /webapps/manager/META-INF/context.xml中,编辑

Valve 元素并添加IP:

<Context antiResourceLocking="false" privileged="true">

<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="192\.168\.0\.9|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

</Context>

从Tomcat 8上下文文档

:设置为true允许此上下文使用容器servlet,例如管理器servlet。

:如果为true,则Tomcat将阻止任何文件锁定。这将显着影响应用程序的启动时间,但允许在可能发生文件锁定的平台或配置上进行完整的Webapp热部署和取消部署

请注意,我没有添加另一个Valve元素,就像您在尝试的操作列表中提到的那样,而是我编辑了现有的元素并仅添加了IP(192.168.0.9)。

重新启动Tomcat,您应该能够使用localhost / 127.0.0.1以及您的主机名/ IP访问管理器GUI。


注意

关于您的 tomcat-users.xml ,Tomcat Manager HOW-

TO指出:

建议不要向具有manager-gui角色的用户授予manager-script或manager-jmx角色。

因此,您可能想在 tomcat-users.xml中 引入两个用户,即:

  <role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-gui"/>

<role rolename="manager-status"/>

<user username="alice" password="whatever" roles="manager-script,manager-jmx"/>

<user username="bob" password="whatever" roles="manager-gui,manager-status"/>

以上是 无法访问Tomcat 8 Manager应用 的全部内容, 来源链接: utcz.com/qa/404912.html

回到顶部