Agent 进行限速的方法

由于之前已经将某个特别疯狂的迅雷的User_Agent给封掉了,所以最近一段时间,我的那源服务器也运行地比较稳定,但是今天,Linux Deepin 9.12正式发布了,由于我给Deepin做了一个iso的镜像,所以服务器又经历了一个访问高峰,如下图:

Nginx 对某些 User_Agent 进行限速的方法

从这里也可以看出Linux Deepin的受欢迎程度,哈哈。

可以看到从11:00以后,100M的带宽就已经被完全撑满了。。。一看日志,大部分又是迅雷干的,但这次迅雷不是用某个特定的UA来访问了,而是各有变化,但是却都包含MSIE,哈哈。

当然IE用户直接访问的话,也会有这个MSIE,但是没办法,为了保全Ubuntu APT-HTTP的合法权益,只能限制一下MSIE了。

但是怎么限制呢?总不能人家用MSIE的连主页面都打不开吧?哈哈,最好的办法就是限速,于是,有了这个配置:

server {

listen   80;

server_name  ubuntu.srt.cn;

access_log  /var/log/nginx/mirror.access.log;

location / {

root   /data/mirrors;

autoindex on;

index  index.html index.htm;

if ($http_user_agent ~ "MSIE") {

limit_rate 2k;

}

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;

}

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   /var/www/nginx-default;

}

}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjfjd.html