1. 程式人生 > >tomcat8-管理員賬戶設定指南(解決許可權已設定仍然報403錯誤)

tomcat8-管理員賬戶設定指南(解決許可權已設定仍然報403錯誤)

 

新使用者新增:

修改 ${CATALINA_BASE}/conf/ 目錄下的 tomcat-users.xml 檔案,重啟tomcat後生效,例:

<user username="test" password="chang3m3N#w" roles="admin-script"/>

管理主頁:

分為:伺服器狀態、APP管理、host管理

 

賬戶許可權說明:

tomcat8共有6種許可權(文件中說明了4種以及host-manager頁面出錯提示的2種):

  • admin-gui — 可訪問 "host管理" 頁面,但"APP管理" 和 "伺服器狀態" 頁面無檢視許可權
  • manager-gui — 無 "host管理" 頁面訪問許可權,有"APP管理" 和 "伺服器狀態" 頁面檢視許可權
  • manager-status — 只有"伺服器狀態" 頁面檢視許可權
  • manager-script — 有指令碼方式管理介面訪問許可權和"伺服器狀態" 頁面檢視許可權
  • manager-jmx — JMX 代理介面訪問許可權和"伺服器狀態" 頁面檢視許可權
  • admin-script — 只有host-manager指令碼方式管理介面訪問許可權

後三種的指令碼方式管理介面,用在那些沒有瀏覽器的機器上(沒UI),通過shell發http請求來操作tomcat的方式,具體使用參照文件,這裡舉個例子(列出執行中的APP,相當於檢視APP管理頁面):

一般來說,賦予admin-gui和manager-gui即可(各個頁面都能訪問):

<user username="test" password="chang3m3N#w" roles="admin-gui,manager-gui"/>

 

許可權已設定仍然報403的問題:

8代的tomcat預設啟用了網段限制,只有127網段區域網的機器,能夠有訪問許可權,如果是其他網段登陸,如172,10網段,仍會報403。

需要修改app資料夾manager和host-mananger兩個專案下META-INF中的context.xml檔案:

 

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

修改為(或者註釋掉): 

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

重啟tomcat後生效。