apache 不通过 servername 拒绝爬虫,而是依赖 user-agent 检测,可用 rewriterule 或 指令拦截恶意 ua,如 wfuzz、gobuster 等,并需避免误伤正规爬虫且结合行为识别增强防护。

Apache 本身不通过 ServerName 拒绝浏览器或爬虫——ServerName 只用于标识虚拟主机的域名(如 www.example.com),它不参与请求过滤或 UA 判断。真正用来拒绝恶意爬虫的是 User-Agent(UA)检测,需结合 mod_rewrite 或 <if></if> 条件指令实现。
以下是实用、可直接部署的配置方式:
用 RewriteRule 拦截已知恶意爬虫 UA
在虚拟主机配置或 `.htaccess` 中添加:
下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Wfuzz [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Fuzz [NC,OR]
RewriteCond %{HTTP_USER_AGENT} gobuster [NC,OR]
RewriteCond %{HTTP_USER_AGENT} feroxbuster [NC]
RewriteRule ^ - [F]
说明:
-
每个 RewriteCond 匹配一个爬虫 UA 关键字(如 Wfuzz、Fuzz、buster),
[NC]表示忽略大小写,[OR]表示“或”关系; -
RewriteRule ^ - [F]表示匹配时返回 HTTP 403 Forbidden; - 该规则对目录、文件、API 接口均生效,无需限定路径。
用 指令(Apache 2.4+ 推荐)更清晰拦截
在 `
<if>
Require all denied
</if>
说明:
-
(?i)启用正则忽略大小写; - 比 rewrite 更轻量,且语义明确(直接控制访问权限);
- 配合
Require all denied精准阻断,不影响其他正常请求。
补充建议:避免误伤与增强防护
- 不要盲目屏蔽所有含 “bot” 或 “spider” 的 UA——很多正规搜索引擎(如 Googlebot、Bingbot)也带这些词;
- 对 Dirsearch、Dirb 这类无固定 UA 的扫描器,需结合行为识别(如高频 404 请求、路径爆破特征),单靠 UA 不够;
- 可搭配日志分析(如 AWStats 或自定义脚本)定期更新黑名单 UA;
- 生产环境建议配合限速(
mod_ratelimit或mod_evasive)防暴力扫描。










