ubuntu 9.10中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
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;

迅雷V5.9,看样子很有必要专门维护一个UA列表,不过那样估计这些软件会更流氓。
为了这破玩意,在apache/lighttpd/nginx/squid上都做UA识别了。做源还好,可以搞成准入的,只允许apt/wget这些,做公共服务真是郁闷。

时间: 2024-11-18 10:02:44

ubuntu 9.10中nginx禁止某个User_Agent的方法的相关文章

Ubuntu 13.10中如何使用root登陆

使用root用户的人都应该知道,root用户对整个系统拥有这全部的权限! Ubuntu默认是禁用了root用户的登陆 使用root用户登陆Ubuntu需要一下步骤 1.首先激活root用户 sudo passwd 激活root用户之后只能在终端使用su切换到root用户,还无法在启动时使用root用户登陆 2.开启手动登录功能,允许用户输入帐号密码登陆系统 Ubuntu 13.10中打开手动登录选项,你可以运行下面的命令: sudo gedit /etc/lightdm/lightdm.conf

如何在 Ubuntu 13.10 中安装 Gnome 3.10

厌倦 Unity 了吗?或者说就是不喜欢它?为何不试试在 Ubuntu 13.10 中安装 Gnome 3.10?安装一个新的桌面环境是为数不多的安装Ubuntu 13.10后要做的事之一,如果你想要尝试一下.在这篇快速教程中我们将会分享如何在 Ubuntu 13.10 中安装 Gnome 3.10. 在 Ubuntu 13.10 中安装 Gnome 3.10: 我们将花费一些时间来使用几个 PPA 安装 Gnome 3.10 和分配升级.我假设你网速不错,如果不是的话,你可以使用一些小技巧来提

如何在Ubuntu 13.10中升级GNOME 到 3.10?

Ubuntu 13.10 中配备了GNOME 3.8桌面. 尽管它相比Unity是一个可靠稳定以及有特色的替代品,但这个版本还是过时了. GNOME桌面的最新版本在2013年9月发布,随之而来的是一系列改进的功能.应用程序和可用性的调整.从对高分辨率屏幕的支持到客户端应用窗口上的美化,GNOME 3.10无疑是一个引人注目的升级版本. 好消息是:假设你正在运行Ubuntu 13.10,拥有不错的网络操作和命令行水平,那么你无需继续使用一个过时版本的GNOME. 在Ubuntu 13.10 上如何

Linux应用环境实战05:在Ubuntu 14.10中借用Windows的字体 (转)

  阅读目录 设置系统字体 安装微软的英文字体 查看系统的配置文件 借用Windows的字体 编写配置文件 在前一篇随笔中,我详细讨论了字体的分类及用途,也以Fedora 20为例,展示了字体配置的思路和方法.我在配置Fedora 20系统字体的时候,采用的是一种釜底抽薪的方法,完全抛开了系统原有的配置文件,所有的配置从头开始.事实上,任何一个Linux发行版本身已经做了很多的字体配置工作,完全将系统默认的配置弃之不用并不是最好的办法.配置系统字体还可以采用锦上添花的方式,也就是保持系统原有的配

如何在Ubuntu 13.10中给菜单添加图标

通常,使用Ubuntu 13.10的用户会会对默认的程序.偏好和功能进行优化,才能得到更好的用户体验. Ubuntu的用户体验是可以优化调整的,因此用户可以通过一些工具来修改和调整那些默认设置,比如使用Ubuntu Tweak. 默认情况下,Ubuntu禁用了内部菜单的图标,即,右键点击桌面打开右键菜单时,菜单中只包含文本而且没有相应的图标. 不过,在Ubuntu 13.10的菜单中添加图标是很简单的: 安装Ubuntu Tweak sudo add-apt-repository ppa:tua

教你在Ubuntu 11.10中搭建和配置Nagios

我们都知道Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等. Nagios的主要功能特点: - 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等) - 监视主机资源 (进程, 磁盘等) - 简单的插件设计可以轻松扩展Nagios的监视功能 -

如何在64位Ubuntu 15.10中编译最新版32位Wine

Wine("Wine Is Not an Emulator"的首字母缩写)是一个能够在多种POSIX-compliant操作系统(诸如Linux,Mac OSX及BSD等)上运行Windows应用的兼容层.Wine 发布了最新的1.7.53版本.此版本带来的大量性能提升,包括XAudio,Direct3D代码清理,改善OLE对象嵌入技术,更好的 Web Services DLL的实现,还有其他大量更新. 虽然有一个官方 Wine PPA,但目前只提供1.7.44版本,所以安装最新版本可

Ubuntu 14.10系统安装 Nginx + MySQL + HHVM + phpMyAdmin环境

注:如果使用非root权限,请在命令前面加上 sudo; # 更新并升级 apt-get update && apt-get upgrade # 安装 Nginx apt-get install nginx -y # 安装 Mysql apt-get install mysql-server-5.6 -y # 安装 HHVM apt-get install hhvm -y # 安装 PhpMyAdmin apt-get install phpmyadmin -y # 安装 进程守护 apt

如何在 64 位 Ubuntu 15.10 中编译最新版 32 位 Wine

Wine 发布了最新的1.7.53版本.此版本带来的大量性能提升,包括XAudio,Direct3D代码清理,改善OLE对象嵌入技术,更好的 Web Services DLL的实现,还有其他大量更新. 虽然有一个官方 Wine PPA,但目前只提供1.7.44版本,所以安装最新版本可以从源码编译安装. 下载源码包(直接下载地址在此)并解压 tar -xf wine-1.7.53.然后,安装如下依赖. sudo apt-get install build-essential gcc-multili