需修改块中的options和allow/deny指令:禁目录浏览须移除indexes(如改为options followsymlinks),ip黑名单用order allow,deny+deny from指定ip或网段,配置后执行systemctl reload httpd生效。

在 httpd.conf 中控制目录浏览和 IP 黑名单,核心是修改 <directory></directory> 块里的 Options 和 Allow/Deny 指令。配置位置通常在主配置文件或虚拟主机段内,生效需重启或重载服务。
关闭目录浏览(禁止列出文件列表)
Apache 默认可能启用 Indexes,导致访问空首页时显示目录内容。要禁用它:
- 找到对应目录的
<directory></directory>或类似块(路径以你的DocumentRoot为准) - 将
Options Indexes FollowSymLinks改为Options FollowSymLinks(移除Indexes) - 如果只希望彻底禁用所有额外功能,可写成
Options None - 保存后执行
systemctl reload httpd生效
配置 IP 黑名单(拒绝特定地址访问)
使用 Order allow,deny + Deny from 实现黑名单逻辑:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 在目标
<directory></directory>块中添加:Order allow,deny Allow from all Deny from 203.0.113.55 Deny from 192.168.5.0/24
- 含义:先允许全部,再逐条拒绝指定 IP 或网段
- 支持单 IP(
192.168.1.100)、CIDR 网段(10.0.0.0/8)、域名(badbot.example.com) - 注意:Apache 2.4 已弃用该语法,若用新版请改用
Require指令
同时限制浏览 + 黑名单的完整示例
比如限制 /var/www/html/admin 目录不被列目录,且只屏蔽两个恶意 IP:
<directory>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Deny from 198.51.100.22
Deny from 203.0.113.99
</directory>
这段配置放在 httpd.conf 或 /etc/httpd/conf.d/*.conf 文件里均可,只要在 <directory></directory> 上下文中生效。
验证与注意事项
配置后建议检查几件事:
- 运行
httpd -t确认语法无误,避免 reload 失败 - 黑名单规则对 HTTPS 请求同样生效(端口不影响 IP 判断)
- 若目录下有
.htaccess,且AllowOverride设为All,它可能覆盖此处设置 - 日志中可通过
ErrorLog查看被拒请求(状态码 403),便于排查误拦










