当使用服务器 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>
...但是如果我使用这种格式的 url 访问服务器,则会列出 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 文件。
有谁知道我该如何解决这个问题?
谢谢
最佳答案
这听起来有点奇怪。您在 Apache Tomcat 服务器前面有 Apache HTTPD 吗?
在这种情况下,Apache HTTPD 不得指向 Apache Tomcat 文件所在的目录!两者之间的通信更多地可以看作是代理而不是插件。
我们在使用 mod_proxy_ajp 方面有一些很好的经验。但是,如果您能够下载 .class 文件和(启用紧急模式)web.xml(关闭紧急模式),那就大错特错了。
关于Apache 目录列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9618249/