nginx 禁止某个 User_Agent 的方法
由于ubuntu 9.10 的发布,SRT ubuntu源最近的流量可是飙得厉害~ 昨天一天的平均流量是 9.6MB/s ,算算一天就有800GB了。。。
更可恶的是,一分析日志,有一个“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”的User_Agent,很是夸张,居然占了八成的流量,看我下面的日志分析:
$ tail -n 1000 /var/log/nginx/mirror.access.log | awk -F\" '{A[$(NF-1)]++}END{for(k in A)print A[k],k}' | sort -n | tail+ C7 w H- Y4 A6 F
3 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
4 SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
5 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
6 Ubuntu APT-HTTP/1.3 (0.7.20.2ubuntu6)
16 Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
18 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
39 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
41 Ubuntu APT-HTTP/1.3 (0.7.23.1ubuntu2)
94 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; )
767 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
于是,我不得不想办法禁掉了这个UA,不然也太影响访问了,最近有很多用户都出现访问不畅的状况了。但是网上这方面的资料还真不太好找,于是请教ubuntu-cn的一叶老大,终于找到办法了:
建立一个 /etc/nginx/agent.conf 内容如下(需要注意的是,空格和括弧需要使用“\”进行转义,这也是我摸索了好久得出的结论):
if ($http_user_agent ~ "Mozilla/4.0\ \(compatible;\ MSIE\ 6.0;\ Windows\ NT\ 5.1;\ SV1;\ .NET\ CLR\ 1.1.4322;\ .NET\ CLR\ 2.0.50727\)") { return 404; }
然后在这个site的配置里include这个conf文件,比如 /etc/nginx/sites-enabled/ubuntu-mirror 里添加如下一行: include /etc/nginx/agent.conf;
分享到:
相关推荐
nginx判读user_agent并转发请求配置文件
以下代码写入 server {….} 内 代码如下: if ($http_user_agent ~ ^$) { return 503; } if ($http_user_agent ~* “Mozilla/4.0\... 您可能感兴趣的文章:Nginx中配置过滤爬虫的User-Agent的简单方法Nginx防盗链根据UA屏
需要注意的是,使用HTTP_USER_AGENT来判断设备类型并不是一个完全准确的方法,因为HTTP_USER_AGENT可以被用户代理伪造,或者因移动设备访问PC版网站时产生的误判。因此,更先进的方法是使用客户端检测(例如使用CSS...
这里,`$request_uri`是默认的哈希键,可以根据实际需求替换为其他变量,如 `$cookie_sessionid` 或 `$http_user_agent`。 2. `hash_key`: 自定义哈希键,可以包含多个变量,如: ```nginx upstream backend { ...
'"$http_user_agent" "$http_x_forwarded_for"'; ``` ### 10. 调整性能参数 根据服务器硬件和负载情况,可调整Nginx的工作模式、连接数限制等: ```nginx events { worker_connections 1024; # 每个工作进程的...
一看不得了,基本上都是被一个User Agent叫”YisouSpider”的东西给刷屏了,一看就不知道是哪的蜘蛛,太没节操了。 找到根目录配置区,增加User Agent过滤判断语句,发现叫”YisouSpider”的直接返回403 注1:如果...
【Nginx Access Log详解与配置】 在Nginx服务器中,Access Log是记录客户端请求的重要日志,它包含了丰富的信息,可用于分析用户行为、优化网站性能和排查问题。了解和掌握Access Log的分析与配置对于任何Web服务的...
新增反爬虫策略文件: vim /usr/...if ($http_user_agent ~ WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV
以前介绍过 Apache 使用 .htaccess 屏蔽恶意 User Agent,今天来介绍 Nginx 屏蔽恶意 User Agent请求的方法。 先上规则&注释 #禁用未初始化变量警告 uninitialized_variable_warn off; #匹配各种 bad user agent,...
本文介绍 Nginx 禁止指定 UA 访问的配置。 UA,即 Http User Agent,在 Nginx 中使用内置变量 $http_user_agent 表示,该信息作为 request header 的一部分被发往 webserver。因此,对 webserver 来说,有一种禁止...
服务器中的错误记录类似于这种: 124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] “-” 400 0 “-” “-” 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” ...经过分析nginx的log文件,发
通过以上方法,Nginx可以有效地过滤掉DDoS攻击中的恶意IP和特定的`user_agent`,提高服务器的安全性和稳定性。不过,这些限制措施只是基础防护,更全面的防御策略可能还需要结合防火墙、入侵检测系统等其他安全工具...
'"$http_user_agent" "$http_x_forwarded_for"'; ``` 这将在日志文件中记录下客户端的IP地址,帮助进行访问分析和故障排查。 总的来说,获取Nginx反向代理下的真实IP需要理解Nginx的配置机制,正确设置HTTP头部,...
代码如下: #全局配置 limit_req_zone $anti_spider zone=anti_spider:10m rate=15r/m; #某个server中 limit_req zone=anti_spider burst=30 nodelay; if ($http_user_agent ...附:nginx中禁止屏蔽网络爬虫 代码如
以下是关于Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法的详细说明: 首先,我们可以通过Nginx的配置文件来识别并阻止特定类型的网络爬虫。这通常涉及到对`http_user_agent`头字段的检查,该字段包含了发送请求的用户...
新建配置配置文件 (例如进入到nginx安装目录下的conf目录,创建: agent_deny.conf) 禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } 禁止指定UA及UA为空的访问 #...