从 apache2 中的目录列表中排除文件夹

从 apache2 中的目录列表中排除文件夹

我知道我可以使用以下方法禁用目录列表

Options -Indexes

<Location>或中<Directory>,但我希望列表能够发生。问题是我在我的服务器上托管文件。但我也有一个用于 pihole 的 Web 界面在那里运行。所以我设置了一条规则,禁止/admin/pihole被本地网络以外的人访问:

<Location ~ "/(pihole|admin)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        Allow from 192.168.1
</Location>

这也会从目录列表中删除条目。但是,每次error.log有人从远程调用目录列表时,它都会生成一个拒绝访问的条目:

[Fri Jan 24 18:13:00.582417 2020] [access_compat:error] [pid 1633] [client XX.XX.XX.XX:60484] AH01797: client denied by server configuration: /var/www/html/pihole/

这反过来又激怒了 fail2ban,它会禁止人们查看他们本应被允许查看的列表。

那么我该如何解决这个问题?

我的想法是从一开始就将这两个条目排除在列表之外。但我不知道该怎么做。
我试过了

<Location ~ "/(pihole|admin)">
    Options -Indexes
</Location>

但它仍然会生成拒绝访问日志条目,并在我尝试 5 次后禁止我。

答案1

我通过设置 2 个虚拟主机解决了这个问题。一个用于文件托管,一个用于 pihole。我用两个不同的 dns 条目将它们分开。这是解决问题的变通方法,并没有真正回答它,但这是一个比我要求的更让我满意的解决方案。

相关内容