tomcat 配置訪問manager以及jenkins部署到tomcat
阿新 • • 發佈:2018-12-24
Tomcat的預設工具manager配置,在很多的生產環境中由於基本用不到、或者是不太需要使用Tomcat預設的manager管理頁面時一般都會把Tomcat的預設webapp下的內容給刪除了,但是如果需要使用Tomcat預設的manager來管理專案時就需要保留相應的檔案目錄。在Tomcat中的webapps中有如下目錄:docs(Tomcat本地說明文件)、examples(Tomcat相關的deamon示例)、host-manager(主機頭管理工具)、manager(專案管理工具)、ROOT(Tomcat預設頁),其中需要保留的是host-manager、manager、ROOT這3個目錄而從Tomcat 6開始為了安全預設條件下Tomcat的host-manager、manager是不能訪問的(http 401拒絕),如需訪問需要分配相關的角色許可權,在這裡就簡單的說一說
首先,需要配置的配置檔案是${catalina.home}/conf/tomcat-users.xml先給Tomcat訪問相關的功能分配角色和配置登入驗證使用者密碼:
12345678910 | …略… --> < role rolename = "manager-gui" /> < role rolename = "manager-script" /> < role rolename = "manager-jmx" /> < role rolename = "manager-status" /> < role rolename = "admin-gui" /> < role rolename = "admin-script" /> < user username = "tomcat" password = "tomcat" roles = "manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script" /> </ tomcat-users > |
此處可以配置多個角色,不同版本Tomcat所擁有的角色都不同,在生產環境中建議修改複雜度高的Tomcat使用者密碼,另外不需要分配所有角色許可權,經需要夠用的即可,如果不能訪問會用相應的提示,在配置好後此時再開啟Tomcat的首頁還是無法進入Tomcat的管理頁面的
因為從Tomcat 7開始安全機制下預設僅允許本機訪問Tomcat,如需遠端訪問Tomcat的管理頁面還需要配置相應的ip允許規則,配置manager的contest.xml可以在${catalina.home}/conf/Catalina/localhost目錄下配置2個contest.xml檔案,也可以寫成一個,但是建議寫成2個便於日常的許可權管理,如下:
manager.xml:
1234 | < Context privileged = "true" antiResourceLocking = "false" docBase = "${catalina.home}/webapps/manager" > < Valve className = "org.apache.catalina.valves.RemoteAddrValve" allow = "^192.168.*$" /> </ Context > |
host-manager.xml:
1234 | < Context privileged = "true" antiResourceLocking = "false" docBase = "${catalina.home}/webapps/host-manager" > < Valve className = "org.apache.catalina.valves.RemoteAddrValve" allow = "^192.168.*$" /> </ Context > |
其中allow中是填ip可以使用正則表示式匹配,在內網中建議寫成匹配某某網段可以訪問的形式,如此Tomcat的manager頁面訪問配置就完成了
注:上面是轉載的,我自己試的時候發現設定總是不成功,最後是修改webapps/manager/META-INF/context.xml才生效
如果要使用jenkins部署,參考下面文章
tomcat8配置差不多