zoukankan      html  css  js  c++  java
  • tomcat 管理端 安全措施

    由于公司的项目并未启用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的默认配置,发布应用到公网上,就像一个定时炸弹,随时都有被攻击的可能性.

    由于博客上传图片比较麻烦,就不上图了,有问题,随时评论留言,欢迎拍砖! 

     

    若转载请注明出处!若有疑问,请回复交流!
  • 相关阅读:
    C# 调用线程并行上下文穿透-ILogicalThreadAffinative+CallContext
    C# 多线程调用静态方法或者静态实例中的同一个方法-方法内部的变量是线程安全的
    解析 .Net Core 注入——注册服务
    [Python]编码声明:是coding:utf-8还是coding=urf-8呢
    Vue加载组件、动态加载组件的几种方式
    源码版本管理工具 :TFS GIT
    Microsoft/Git-Credential-Manager-for-Mac-and-Linux
    SqlServer 对分组的内容进行拼接-group_concat
    MFC中页面设置对话框CPageSetupDialog
    MFC中查找替换对话框CFindReplaceDialog类
  • 原文地址:https://www.cnblogs.com/jtlgb/p/7372748.html
Copyright © 2011-2022 走看看