|
由于有关操作系统的知识不够,所以还不能自己修改、开发内核,暂时停留在一般性了解、基本操作的基础上。因为笔者学习LINUX是为了先在PC机上了解UNIX,这是最主要的目的。当然,这一段时间的学习就是围绕着这个目的开展的。 让APACHE防止多线程下载 下面是sane@nsfocus.com写的一些关于mod_limitipconn.c的文档,可以参考一下:
mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制 ,但是它是使用ExtendedStatus On形式,工作在应用层。当同一个IP的连接到达 限制的时候,apache对get请求发送:
HTTP/1.1 503 Service Temporarily Unavailable
从而使用户不能下载,但并不能阻止这种攻击,仍旧允许连接的。不过这个东东对 网管来说还是很有用的,特别是下载站的网管。简单介绍一下安装(动态模块方式 安装,假设你的apache已经装在/usr/local/apache目录下):
下载:http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
# tar xzf mod_limitipconn-0.04.tar.gz # cd mod_limitipconn-0.04 # vi Makefile
把第一行的:
APXS = apxs
改为
APXS = /usr/local/apache/bin/apxs
然后:
# make # make install
修改apache配置文件:
# vi /usr/local/apache/conf/httpd.conf
ExtendedStatus On ###make install时这句前面的#没有去掉,一定要去掉
###make install已经加了下面两句,确认存在就行了 LoadModule limitipconn_module libexec/mod_limitipconn.so AddModule mod_limitipconn.c
###下面就是对web目录下的文件下载限制 <IfModule mod_limitipconn.c> <Location /> MaxConnPerIP 3 ###限制web根目录同一个IP只能同时开3进程下载
# 还有其它选项,如: # NoIPLimit image/* # OnlyIPLimit audio/mpeg video # 可以设置多个Location </Location> </IfModule>
重启apache,用多线程的下载工具下载时,大于3个线程,其余的将得到信息:
HTTP/1.1 503 Service Temporarily Unavailable
或者根据User_Agent判断,把已知的多线程工具都给deny 掉 in httpd.conf ..... BrowserMatch "NetAnt" badguy BrowserMatch "GetRight" badguy BrowserMatch "JetCar" badguy BrowserMatch "Mass Downloader" badguy BrowserMatch "ReGet" badguy BrowserMatch "DLExpert" badguy BrowserMatch "FlashGet" badguy BrowserMatch "Offline Explorer" badguy BrowserMatch "Teleport" badguy ........... <Directory /xxx/xxx/xxx> order deny,allow deny from env=badguy allow from all </Directory>
注意httpd里面应该有 mod_setenvif模块
安全地停止qmail-send进程 在使用sendmail的时候,如果要停止sendmail,直接用kill sendmail进程的时候需要一定的技巧,否则会导致当前传递的信件丢失。但是qmail-send不一样,你可以直接kill qmail-send进程,它会干净利索地关闭,没有sendmail的问题。如果在log里面出现waiting,那么证明qmail-senfd已经关闭。如果要启动qmail-send进程,那么执行/var/qmail/rc就行。设置Qmail以增加并发发送进程
Qmail缺省只有20个并发qmail-remote进程,如何增加这个数目? 决定你的机器实际需要多少个并发发送进程,然后在control/concurrencyremote里面填写并发发送进程,并重新启动qmail-send进程即可。同时记住设置系统描述符至少是这个数目乘以5的两倍以上。否则在投递大量信件的时候会出现不必要的延迟。并且编译的时候已经在conf-rspawn里面设置这个数目最多只能是120。
|