无法访问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.xml 和 context.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