Apache目录列表

时间:2012-03-08 13:16:49

标签: apache tomcat ubuntu

使用服务器IP地址时,我无法阻止apache创建目录列表。我已尝试编辑相关的站点可用文件,如下所示;

<VirtualHost *:80>
    JkMount /* default
    ServerName example.co.uk
    ServerAlias www.example.co.uk
    ServerAdmin me@example.co.uk
    DocumentRoot /var/www/example.co.uk/public_html
    ErrorLog /var/www/example.co.uk/logs/error.log
    CustomLog /var/www/example.co.uk/logs/access.log combined
    <Directory /var/www/example.co.uk/public_html>
        Options -Indexes
    </Directory>
</VirtualHost>

...但如果我使用此格式的网址访问服务器,则会列出public_html文件夹内容;

http://192.168.1.99/example.co.uk/public_html

我还尝试修改/etc/apache2/apache.conf中的apache配置文件以包含以下内容;

<Directory />
    Options -Indexes
</Directory>

..但没有快乐。

我正在使用Tomcat,我需要我的WEB-INF文件夹拒绝访问。它没有,因此可以下载任何.class文件。

有谁知道如何解决这个问题?

谢谢

3 个答案:

答案 0 :(得分:1)

这听起来有点奇怪。您是否在Apache Tomcat服务器前有Apache HTTPD?

在这种情况下,Apache HTTPD不得指向Apache Tomcat文件所在的目录!两者之间的通信可以更多地被视为代理而不是插件。

我们在使用mod_proxy_ajp时有一些很好的经验。但是如果你能够下载.class文件和(恐慌模式)web.xml(恐慌模式关闭),那就非常错误了。

答案 1 :(得分:0)

如果在末尾添加/ *会怎样?

<Directory /var/www/example.co.uk/public_html/*>
        Options -Indexes
</Directory>

更新: 或者尝试在VirtualHost指令之外添加条目。

答案 2 :(得分:0)

这意味着它不会达到您的VirtualHost设置,而是默认的虚拟主机设置。

您有2个选项(至少):

1,将.htaccess文件放入您要限制列出的目录

2,使用与基于名称的虚拟主机类似的设置设置基于IP的虚拟主机

你说你放了

<Directory />
    Options -Indexes
</Directory>

您应该位置而不是目录那里