由於公司的項目並未啟用nginx負載均衡,所以自然也沒用到tomcat與web應用一對一的安全操作,經常會遇到
重啟單個應用又不想重啟tomcat的情況.同時,又出於安全考慮,將tomcat的默認管理頁面給刪除了,這無疑給應用維
護帶來諸多不便.
基於以上考慮,項目經理采取折中的方式,具體要求如下:
1.加上默認的tomcat管理應用 ,但是,要對這個應用做安全改造,不能使用默認的配置;
2.禁用tomcat自動發布應用的功能;
根據以上要求這個任務就交給我了,通過一番研究,最后得以解決,具體過程如下:
第一步,tomcat是一個重配置的web容器,不管是自己開發的web應用,還是tomcat官方自帶的應用,都只是一個應用而已,
這就好辦了.在tomcat的/tomcat/conf目錄下的sever.xml文件中,有以下配置:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
...
</Host>
在其中加入<Context path="" docBase="ROOT" debug="0" reloadable="true" />
其中path是指:公網訪問的URL
docBase是指:我們所要指定的 web應用路徑,故將這一路徑指向我們需要的應用路徑中.
第二步,在tomcat的/tomcat/conf目錄下的web.xml文件中,查看是否有以下配置:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
若無,請添加以上配置,並修改默認ROOT應用的index.jsp文件的名稱,並在該位置添加,我修改的是index11.jsp(隨意修改,但必須配置一直)
修改后的配置為 :
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index11.jsp</welcome-file>
</welcome-file-list>
第三步,修改管理端的URL,默認通常為:http://localhost:8080/manager/html ,我現在要修改為http://localhost:8080/manager123/html
1),修改webapps下的manager應用的名稱為manager123 ;
2),修改 host-manager下的manager.xml中的路徑配置,改為:
<Context docBase="${catalina.home}/webapps/manager123" privileged="true" antiResourceLocking="false" antiJARLocking="false">
3),修改ROOT目錄下的之前修改名稱的index11.jsp應用的相應的啟用管理應用的鏈接進行相應的修改,修改如下:
<div class="button"> <a class="container shadow" href="/manager123/html"><span>Manager App</span></a> </div>
經過以上三步,就可以完成默認管理后台的自定義修改,當然,還可以做其他的大量的修改,在此只是拋磚引玉,記錄一下.
寫在最后:tomcat的安全問題,不容小覷,最好不要直接使用tomcat的默認配置,發布應用到公網上,就像一個定時炸彈,隨時都有被攻擊的可能性.
由於博客上傳圖片比較麻煩,就不上圖了,有問題,隨時評論留言,歡迎拍磚!