Apache+tomcat 控制目录权限

在apache2.2+tomcat6集群中,发现在浏览器中可以访问:http://localhost/WEB-INF/
  经过查阅资料,可以有以下方式解决这个问题:一个是禁止目录索引功能,一个是禁止访问WEB-INF目录下文件的功能,都需要修改apache的配置文件httpd.conf:
 
  1、禁止目录索引功能,查找如下段字符串,删除其中的“Indexes”即可,注意实际字符串可能有所区别:
 
            DocumentRoot "/usr/local/tomcat5/webapps/ROOT"

            <Directory "/usr/local/tomcat/webapps/ROOT">
                #
                Options Indexes FollowSymLinks Includes
                #
                AllowOverride None
                #
                Order allow,deny
                Allow from all
            </Directory>
 
  2、禁止访问WEB-INF目录下文件的功能,在文件尾部加入如下字符串即可:
 
            <Location ~ "/WEB-INF/"> 
              AllowOverride None
              Deny from all
            </Location>

 其中“~ "/WEB-INF/"”是通配符设置,即所有的路径中包含/WEB-INF/都不允许访问。

  上面是对Apache的配置,Tomcat也是需要调整的,修改tomcat目录/conf/web.xml文件,如下,将listings改为true:

            <servlet>
              <servlet-name>default</servlet-name>
              <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
              <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
              </init-param>
              <init-param>
                <param-name>listings</param-name>
                <param-value>false</param-value>
              </init-param>
              <load-on-startup>1</load-on-startup>
            </servlet>

你可能感兴趣的:(apache,tomcat,集群,servlet,浏览器)