由于公司的项目并未启用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的默认配置,发布应用到公网上,就像一个定时炸弹,随时都有被攻击的可能性.
由于博客上传图片比较麻烦,就不上图了,有问题,随时评论留言,欢迎拍砖!