在网站运维过程中,你是否经常遇到一些烦人的爬虫、扫描器或者自动化脚本不断访问你的服务器?这些请求不仅浪费带宽,还可能带来安全风险。今天,我们就来学习如何使用 Nginx 用户代理过滤 功能,轻松屏蔽这些不速之客。
用户代理(User-Agent)是浏览器或客户端在向服务器发起 HTTP 请求时,附带的一个字符串,用于标识自己是什么设备、操作系统、浏览器或程序。例如:
Chrome/124.0.0.0Baiduspidersqlmap、nmap 等通过识别并拦截特定的 User-Agent,我们可以:
下面是一个完整的配置示例,适合初学者操作。
通常配置文件位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default。使用你喜欢的编辑器打开它:
# 示例:在 server 块中添加以下规则server { listen 80; server_name example.com; # 定义要屏蔽的 User-Agent 列表 if ($http_user_agent ~* "(sqlmap|nmap|wget|curl|nikto|hydra|acunetix|scan|bot|spider|crawler)") { return 403; } location / { root /var/www/html; index index.html; }} 上面的代码使用了 if 指令配合正则表达式(~* 表示不区分大小写匹配),一旦请求头中的 User-Agent 包含指定关键词,就直接返回 403 Forbidden 错误。
保存文件后,先测试配置是否正确:
sudo nginx -t 如果显示 syntax is ok,说明配置无误。接着重载 Nginx 使配置生效:
sudo systemctl reload nginx 你可以使用 curl 命令模拟一个被屏蔽的 User-Agent 来测试:
curl -A "sqlmap" http://your-domain.com 如果返回 403 Forbidden,说明 Nginx配置教程 成功生效!
bot 的所有请求,因为 Googlebot、Bingbot 是合法搜索引擎爬虫。通过本文的 Nginx用户代理过滤 教程,即使是小白也能快速上手,为自己的网站增加一层基础防护。结合其他安全策略(如 IP 黑名单、速率限制等),可以构建更健壮的 Web安全防护 体系。
赶快动手试试吧!保护你的网站,从一行 Nginx 配置开始。
本文由主机测评网于2025-12-01发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025121731.html