编辑 我认为过多的“拒绝”行会混淆 apache 以阻止未列出的 IPv4 地址。但是@Ladadadada 的评论让我查明了确切的问题。您可以在下面阅读我的旧问题。问题是,以下行:
deny from 42.1.0.0/19
阻止 IPv6 地址
2a01:4f8:120:8201::2
2a01:1e8:e100:ce::2
这怎么可能?
我有一长串被阻止的 IP 地址,由阻止中的Include
指令激活Directory
。
此文件仅包含 IPv4 地址,但我的服务器也阻止了有限数量的 IPv6 地址。它不会阻止所有 IPv6 流量。如果我删除这些块,那些 IPv6 地址就可以很好地访问服务器。
最初,块文件将每个 IP 块放在单独的“拒绝”行中。我尝试将它们中的每 40 个组合起来以减少规则数量和文件大小。它仍然没有帮助。但是当我将规则截断为 4-5 条拒绝线时,它按预期工作并且没有阻止 IPv6 地址。
这些是来自访问日志的示例日志。
2a01:4f8:120:8201::2 - - [03/Mar/2013:15:01:07 +0200] "GET /tdf/ HTTP/1.1" 403 387 "-" "MirrorBrain Probe (see http://mirrorbrain.org/probe_info)"
并从错误日志
[Sun Mar 03 15:01:07 2013] [error] [client 2a01:4f8:120:8201::2] client denied by server configuration: /mirror/pub/tdf/
如何列出大量“拒绝”指令?我无法控制机器的防火墙,所以这是不可能的。