tomcat訪問manager


在配置好Tomcat7/8后,我們往往需要訪問Tomcat7/8的Manager以及Host Manager。就需要在tomcat-users.xml中配置用戶角色來實現。在地址欄輸入:localhost:8080訪問 Tomcat,在打開的界面中,在右上角有這樣三個按鈕: 
  1. Server Status 
  2. Manager App 
  3. Host Manager 
   
  可是在我們配置好tomcat-users.xml后,這三個按鈕往往不能都訪問,要么是只能訪問其中一個,或者就是兩個。出現這種問題很有可能是你在配置中,角色沒有添加全,尤其是在第三個按鈕的配置上,第三個按鈕的配置Tomcat7和Tomcat8的配置是不相同的。
  為了實現配置讓三個按鈕都能訪問到,我們先看下tomcat-users.xml里面的一段用戶配置:

  <tomcat-users>

  <role rolename="manager-gui"/>

  <role rolename="manager-script"/>

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

  <user username="admin" password="admin" roles="manager-script"/>

  </tomcat-users>

 

<role rolename="角色名">這個是用來定義角色的,很明顯rolename的屬性值並不是我們隨意寫的。實際上,Tomcat已經為我們定義了4種不同的角色,也就是4個rolename,我們只需要使用Tomcat為我們定義的這幾種角色就足夠滿足我們的工作需要了。

  manager-gui     #允許訪問html接口(即URL路徑為/manager/html/*)

  manager-script   #允許訪問純文本接口(即URL路徑為/manager/text/*)

  manager-jmx   #允許訪問JMX代理接口(即URL路徑為/manager/jmxproxy/*)

  manager-status   #允許訪問Tomcat只讀狀態頁面(即URL路徑為/manager/status/*)

  

  特別需要說明的是:manager-gui、manager-script、manager-jmx均具備manager-status的權限,也就是說,manager-gui、manager-script、manager-jmx三種角色權限無需再額外添加manager-status權限,即可直接訪問路徑”/manager/status/*”。 
   
<user username="用戶名" password="密碼" roles="角色(可多個)"/>這個很簡單,就是用來表示用戶的,其中roles對應的就是上面定義的角色,可以有多個角色,多個角色用“,”隔開即可。也可以配置多個用戶。

需要訪問前兩個按鈕,只需配置manager-*(4個按需配置)即可。 
需要訪問第三個按鈕,需要配置 admin-gui(HTML UI接口)或admin-script(純文本接口)。 
如果都要訪問,配置在一起即可。

 

下面根據Tomcat7Tomcat8分別貼出用戶配置:

1Tomcat7訪問Server StatusManager AppHost Manager的配置。

聲明:此配置不注重安全性,只是測試。具體根據需求可刪減

<role rolename="admin"/>

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user username="admin" password="admin" roles="admin,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>

2Tomcat8訪問Server StatusManager AppHost Manager的配置。

聲明:此配置不注重安全性,只是測試。具體根據需求可刪減 
Tomcat8如果在上面配置的基礎上,訪問時會報403錯誤,所以需要修改,如果沒有的話新建conf/Catalina/localhost/manager.xml 文件。 
配置內容如下:

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

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

    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />

</Context>

 

 

原文來自與鄧威的博客

https://blog.csdn.net/weixian52034/article/details/53218584


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM