mod_cband 可以達到對 virtualhost 作頻寬、連線數限制,且總流量到了某階段可以重導至某個頁面作提示或者直接對速度作設限
目前在 CentOS 5.6 的環境下...還沒有 mod_cband 的模組可以直接使用 yum 安裝...所以可以到這個網站下載
http://rpm.pbone.net/index.php3/stat/4/idpl/6572988/dir/centos_5/com/mod_cband-0.9.7.5-2.el5.kb.i386.rpm.html
安裝步驟:
Step 1:
i386的版本#wget ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/mod_cband-0.9.7.5-2.el5.kb.i386.rpm
x64的版本#wget http://centos.karan.org/el5/extras/testing/x86_64/RPMS/mod_cband-0.9.7.5-2.el5.kb.x86_64.rpm
Step 2:
#rpm -Uvh mod_cband-0.9.7.5-2.el5.kb.i386.rpm
裝好之後在 /etc/httpd/conf.d 會產生一個檔案 mod_cband.conf
裡面有個 cband-status ...你必須把你的IP 加到 Allow ...才可以看 cband-status
引用:
<Location /cband-status>
SetHandler cband-status
Order allow,deny
Allow from 127.0.0.1/32 122.115.10.xxx
</Location>
瀏覽 web,
http://www.xxx.com.tw/cband-status如圖例 cband-status
Step 3:
限制Virtualhost 下載速度
引用:
<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName www1.xxx.com.tw
CustomLog logs/www1.xxx.com.tw-access_log combined
ErrorLog logs/www1.xxx.com.tw-error_log
RewriteEngine On
RewriteOptions inherit
# CBandSpeed 設定給這個 virtualhost 總配給最大多少頻寬kbps、每秒30個要求、最大20個連線
CBandSpeed 10240 30 20
# CBandRemoteSpeed 設定每個 Client 的配給300kbytes、每秒3個要求、2個連線
CBandRemoteSpeed 300kb/s 3 2
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName www2.xxx.com.tw
CustomLog logs/www2.xxx.com.tw-access_log combined
ErrorLog logs/www2.xxx.com.tw-error_log
RewriteEngine On
RewriteOptions inherit
CBandSpeed 1024 10 30
CBandRemoteSpeed 10kb/s 3 2
</VirtualHost>
Apache Restart 之後...就可以再觀看 cband-status ...看看目前的狀態了~~