码迷,mamicode.com
首页 > 其他好文 > 详细

(4) tomcat图形管理和身份认证配置

时间:2018-10-05 10:40:30      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:还需   关闭浏览器   状态   保存   interface   修改   添加   docke   color   

tomcat和大多数服务程序的管理不一样,tomcat更适合使用图形管理界面进行管理,例如在不停止tomcat的情况下动态部署新的webapp或重新加载webapp。如果不使用图形管理工具,tomcat虽然也可以配置自动部署(autoDeploy="true"),但我们却无法掌握它重新部署的时刻。

图形管理工具的官方手册:Manager App HOW-TO

直接在浏览器中输入tomcat所在机器的ip地址及其connector监听端口,即可进入tomcat的图形管理界面,也是欢迎界面。这个欢迎页面是tomcat engine中的默认Host组件localhost提供的页面,该资源的路径为$CATALINA_HOME/webapps/ROOT/index.jsp。

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

技术分享图片

这3个按钮对应的是tomcat默认就安装好的3个管理工具:状态查看工具、webapp管理工具(非常重要)和虚拟主机管理工具

其中前2个工具都由名为manager的webapp提供,第三个工具由名为host-manager的webapp提供,因此后文将认为只提供了两个管理程序:manager和host-manager。它们的路径都在webapps目录下。

技术分享图片

 

点击这3个按钮,分别可以进入对应的管理界面。但第一次点击,会出现"403 Access denied"错误,并提示要去配置conf/tomcat-users.xml,添加相应权限的角色。 技术分享图片

由于ServerStatus和ManagerAPP这两个应用都是由manager应用提供,因此点击这两个按钮中的任何一个弹出的错误提示是相同的

上述错误页面翻译如下:

 

401未经授权

您无权查看此页面。如果您尚未更改任何配置文件,请检查安装中的文件conf/tomcat-users.xml。该文件必须包含允许您使用此Web应用程序的凭据。

例如,将manager-gui角色添加到用户名为tomcat,密码为s3cret的用户,将以下内容添加到上面列出的配置文件tomcat-user.xml中。
<role rolename =“manager-gui”/>
<user username =“tomcat”password =“s3cret” roles =“manager-gui”/>

注意,对于Tomcat 7以上,使用管理器应用程序所需的角色已从单个manager角色更改为以下四个角色。您需要分配您希望访问的功能所需的角色。
manager
-gui - 允许访问HTML GUI和状态页面 manager-script - 允许访问文本界面和状态页面 manager-jmx - 允许访问JMX代理和状态页面 manager-status - 仅允许访问状态页面
HTML接口受CSRF保护,但文本和JMX接口不受保护。为了保持CSRF保护: 具有manager
-gui角色的用户不应被授予manager-script或manager-jmx角色。 如果通过浏览器访问text或jmx接口(例如,用于测试,因为这些接口用于工具而不是人类),则必须在之后关闭浏览器以终止会话。

 

 

下面是点击HostManager按钮提示的错误页面

技术分享图片

上述错误页面翻译如下:

401未经授权
您无权查看此页面。如果您尚未更改任何配置文件,请检查安装中的文件 conf/tomcat-users.xml。该文件必须包含允许您使用此Web应用程序的凭据。

例如,将admin-gui角色添加到用户名为tomcat,且密码为s3cret的用户,请将以下内容添加到上面列出的配置文件中。
<role rolename =“admin-gui”/>
<user username =“tomcat”password =“s3cret”roles =“admin-gui”/>

注意,对于Tomcat 7以上,使用主机管理器应用程序所需的角色已从单个admin角色更改为以下两个角色。您需要分配您希望访问的功能所需的角色。 admin
-gui - 允许访问HTML GUI admin-script - 允许访问文本界面
HTML接口受CSRF保护,但文本接口不受保护。为了保持CSRF保护: 具有admin
-gui角色的用户不应被授予 admin-script角色。 如果通过浏览器访问文本界面(例如,用于测试,因为此界面用于工具而不是人类),则必须在之后关闭浏览器以终止会话。

 

综上:对于这两个管理程序而言,总共有以下几种预定义角色:其中后两项角色是上一图中"Host Manager"需要的角色。

  • manager-gui - allows access to the HTML GUI and the status pages
  • manager-script - allows access to the text interface and the status pages
  • manager-jmx - allows access to the JMX proxy and the status pages
  • manager-status - allows access to the status pages only
  • admin-gui - allows access to the HTML GUI
  • admin-script - allows access to the text interface

 

对于使用manager-gui角色的用户,强烈建议不要再为其赋予manager-script和manager-jmx角色。

这些角色名称rolename已经预定义在各管理程序内的web.xml中:

[root@docker121 webapps]# grep role-name  host-manager/WEB-INF/web.xml 
       <role-name>admin-script</role-name>
       <role-name>admin-gui</role-name>
    <role-name>admin-gui</role-name>
    <role-name>admin-script</role-name>
[root@docker121 webapps]# grep role-name  manager/WEB-INF/web.xml 
       <role-name>manager-gui</role-name>
       <role-name>manager-script</role-name>
       <role-name>manager-jmx</role-name>
       <role-name>manager-gui</role-name>
       <role-name>manager-script</role-name>
       <role-name>manager-jmx</role-name>
       <role-name>manager-status</role-name>
    <role-name>manager-gui</role-name>
    <role-name>manager-script</role-name>
    <role-name>manager-jmx</role-name>
    <role-name>manager-status</role-name>

因此,在各管理程序的身份验证文件中可以直接引用这几个名称。那么如何配置身份验证,使得只有通过验证的用户才能使用这些管理工具?根据前面的错误页面提示,只需在$CATALINA_HOME/conf/tomcat-user.xml中配置即可。

例如,使用预定义好的角色进行配置。

技术分享图片

注意上述的用户名和密码随意指定,但角色名不会能不能随意指定,必须是应用程序中web.xml文件中事先定义好的

 

再重启tomcat即可。但是,这样的配置在tomcat 8.0及之前的版本能成功,在tomcat 8.5及以后的版本上不会成功,还需要进行如下操作:

 

打开webapps/manager/META-INF/context.xml文件,不是conf/context.xml文件

我们将里面的内容注释(注意仅注释<Value   />元素)或者修改为如下:

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

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

表示:允许192.168.2.0网段(我当前的局域网所在网段)及本地回环地址访问,你需要修改为你访问网段的地址或者具体的IP。

比如:你的网段是192.168.1.0,可以写成192\.168\.1\.\d+;或者允许192.168.1.100访问,写成192\.168\.1\.100

 

注:如果要访问host manager,还需要修改webapps/host-manager/META-INF/context.xml文件,修改内容和上面一样。

保存,然后重启tomcat,重新访问server status、manager app页面,输出上面设置的用户名和密码,即可访问页面。

第一个按钮:状态页面 技术分享图片

 

第二个按钮:应用管理界面

技术分享图片

技术分享图片

可以轻松管理某个webapp的启动、停止、部署、重新部署、部署本地项目等。

 

 

第三个按钮:虚拟机管理界面

技术分享图片

 

(4) tomcat图形管理和身份认证配置

标签:还需   关闭浏览器   状态   保存   interface   修改   添加   docke   color   

原文地址:https://www.cnblogs.com/liliyang/p/9743948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!