我知道我可以使用以下方法禁用目录列表
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 条目将它们分开。这是解决问题的变通方法,并没有真正回答它,但这是一个比我要求的更让我满意的解决方案。