如果修改 Apache 代理白名单没有效果,请检查包裹它的 <IfModule> 条件是否匹配已加载的模块。当指定模块不存在时,Apache 会跳过条件块。

<IfModule proxy_http_module>
    <Proxy "*">
        Require ip 192.0.2.25
    </Proxy>
</IfModule>

这是针对现有正向代理的访问规则片段。请替换示例客户端地址;监听器、代理角色和所需模块必须单独配置。

正如 IfModule 文档所说明的,该容器只检查配置条件,并不会加载模块。存在嵌套条件时,只有所有外层条件都匹配,访问规则才会生效。

为什么启动仍可能成功

可选块有助于一份配置支持多种服务器构建。当某个模块必不可少时,静默跳过其设置反而可能掩盖缺失的功能。请判断这种行为是否适合当前部署。

检查已加载的模块和匹配的条件,然后确认哪个监听器和虚拟主机收到了请求,最后验证被允许和被拒绝的客户端。另一个虚拟主机中的有效规则也会产生类似症状。错误日志中对应的条目,比扩大一份可能从未生效的白名单更有用。

相关文章