#1
|
|
Apache Bağlantı ve indirme limitlemesi mod_cband
mod_cband Eklentisi çalışması için centos işletim sistemimize aşağıdaki komut ile gereken bileşenin kurulumunu sağlıyoruz. Kod:
yum install httpd-devel Kod:
cd /tmp wget http://mirror.tutsakhosting.com/file-mod_cband/mod-cband-0.9.7.4.tgz tar xzvf mod-cband-0.9.7.4.tgz cd mod-cband-0.9.7.4 ./configure make make install Kod:
LoadModule cband_module /usr/lib/httpd/modules/mod_cband.so Kod:
/etc/init.d/httpd restart Kod:
Starting httpd: [Mon May xx 18:05:33 20xx] [warn] Invalid command 'CBandSpeed', undefined virtualhost name kbps: 1024 bits per second Mbps: 1024*1024 bits per second Gbps: 1024*1024*1024 bits per second The default is kbps. Transfer quotas: K: 1000 bytes M: 1000*1000 bytes G: 1000*1000*1000 bytes Ki: 1024 bytes Mi: 1024*1024 bytes Gi: 1024*1024*1024 bytes The default is K. Time periods: S: seconds M: minutes H: hours D: days W: weeks The default is S. Örnek ayarlama yapılan bir site için ayarlanan "/etc/httpd/conf/httpd.conf" dosyası içindeki kurallar ; Kod:
<VirtualHost 1.2.3.4> ServerName www.example.com ServerAdmin [email protected] DocumentRoot /var/www CBandSpeed 1024 10 30 CBandRemoteSpeed 20kb/s 3 3 </VirtualHost> Örnek olarak bu şekilde kurallar ayarlayıp httpd.conf dosyanızda güncelleme yapıp kayıt edin ve değişikliğin aktif olması için httpd servisini restart etmeniz gereklidir. Bu sade ayarlamanın haricinde eklentide farklı bir çok ayarlama bulunmaktadır bunlar ile ilgili aşağıdaki anlatımları inceleyebilirsiniz. mod_cband direktifleri Aktarım Hizları kbps : 1024 bit per second mbps : 1024*1024 bits per second gbps : 1024*1024*1024 bits per second Not : Ön tanımlı olarak kbps kullanılıyor. Kota K : 1024 bytes M : 1024*1024 bytes G : 1024*1024*1024 bytes Not : Ön tanımlı K kullanılıyor. Zaman Periyodları S : saniye M : dakika H : saat D : gün W: hafta Not : Ön tanımlı olarak Saniye kullanılır. CBandDefaultExceededURL : Transfer limitini geçtiğiniz zaman sizi başka bir url adresine yönlendirir. Eğer bir url adresi belirtmez isek sayfada 503 hatası görürüz. Kullanımı : CBandDefaultExceededURL URL Örnek Kullanımı : http://www.murat.ws/bandwith.php CbandDefaultExceededCode : Url adresi belirtmez isek belirlediğimiz http kodu çıkar. Kullanımı : CBandDefaultExceededCode HTTP_CODE Örnek Kullanımı : CBandDefaultExceededCode 509 CbandScoreFlushPeriod : Ön tanımlı değer olarak 1 kullanılır. Örnek Kullanımı : CBandScoreFlushPeriod 1 CbandSpeed : Virtual hostlarda maksimum kesin hızları ayarlamak için kullanılan parametredir. Kbps : maksimum transfer hızı Rps : saniyedeki maksimum istek Max_conn : Eş zamanlı yapılan maksimum bağlantılar Kullanımı : kbps rps max_conn Örnek Kullanımı : CBandSpeed 1024 20 50 CbandRemoteSpeed : Karşi ağdan gelen istemcileri sınırlamak için kullanacağımız parametredir. Kullanımı : CBandRemoteSpeed kbps rps max_conn Örnek Kullanımı : CBandRemoteSpeed 40kb/s 6 6 burada denilmek istenen, maksimum 40Kbps/s hız ile en fazla 6 istek ve 6 bağlantı kurabilir. CbandClassRemoteSpeed : Karşi ağdan gelen istemcileri ip adreslerine göre kısıtlamak için kullanacağımız parametredir. Kullanımı : CBandClassRemoteSpeed class_name kbps rps class_name : Karşı ağdan gelen istemci ip adresi Örnek Kullanımı : Kod:
<CBandClass googlebot_class> CBandClassDst 66.249.64/24 CBandClassDst 66.249.65/24 CBandClassDst 66.249.79/24 </CBandClass> CBandClassRemoteSpeed googlebot_class 20kb/s 2 3 CbandLimit : Bandwith ‘nize kota koymak için kullanılır. Kullanımı : CBandLimit limit Limit : Belirlediğiniz kota miktari Birimleri : K (kilo), M (mega), G (giga), Ki (kibi), Mi (mebi), Gi (gibi) Örnek Kullanımı : CBandLimit 10M (Toplam bandwith 10 megabyte olduğu zaman trafiği keser ve CbandDefaultExceededCode ile sayfa parametlerini devreye sokar. ) CbandPeriod : Bandwith kullanımlarını verdiğimiz zaman periyodlarında temizlenmesini sağlayan parametredir. Kullanımı : CBandPeriod period Kullanım Alanı : <Virtualhost> Zaman dilimleri : S : Saniye M : Dakika H : Saat D : Gun W : Hafta Örnek Kullanımı : CBandPeriod 1W (1 hafta sonra bandwith istatistiklerini silecektir.) User Direktifleri : Su anda anlamsiz gelebilir.Asagidaki ornekle daha iyi anliyacaksiniz. CbandUser : Tanimlamalarımızı kullanıcı bazlı yapmak için bu parametre kullanılabilir. Kullanımı : <CBandUser user_name> Örnek Kullanımı : <CBandUser murat_ugur> CbandUserSpeed : Tanımladığımız cband kullanıcısı için maksimum hız tanımladığımız parametredir. Kullanımı : CBandUserSpeed kbps rps max_conn Kullanım Alanı : <CbandUser> Örnek Kullanımı : CBandUserSpeed 100kb/s 10 5 CbandUserLimit : Cband olarak tanımladığımız kullanıcıya kota koymak için kullanılıyor. Kullanım Alanı : <CbandUser> Kullanımı : CBandUserLimit limit Kullandığı Birimleri : K, M, G, Ki, Mi, Gi Örnek Kullanımı : CBandUserLimit 10M CbandUserScoreboard : Cband kullanıcısının scoreboard dosyasıdır. Kullanım Alanı : <CbandUser> Örnek Kullanımı : CBandUserScoreboard /var/www/fedoraturkiye.com/scoreboard/ CbandUserPeriod : Cband olarak tanımlanan kullacının bandwith kullanım oranlarının zaman periyodlari halinde temizlenmesi için kullanılan parametredir. Kullanım Alanı : <CbandUser> Kullanımı : CBandUserPeriod period Örnek Kullanımı : CBandUserPeriod 14D Şimdi sizlere bu cbandUser ne işe yarar biraz açıklayayım. Kısaba bu komutla grublandırma yapabiliyoruz. Her virtualhosta tek tek cband parametlerini yazarak vakit kaybetmektense bir tane cbanduser tanımlayarak bu durumu tek parametreye indirebiliriz. Şimdi aşağıdaki örnekle daha iyi anaşılır olacaktır. Kod:
<CBandUser forumlar> # 200MB bandwidth limit for user 'forumlar' CBandUserLimit 200000 # redirect to http://www.fedoraturkiye.com/bandwidth_exceeded.html # when the limit has been reached CBandUserExceededURL http://www.fedoraturkiye.com/bandwidth_exceeded.html # user's scoreboard file CBandUserScoreboard /var/www/scoreboard # a period of time after which the scoreboard will be cleared (5 weeks) # (only in >=0.9.5-rc2) CBandUserPeriod 5W </CBandUser> <VirtualHost *:80> ServerName www.murat.ws # Specify virtualhost's owner CBandUser forumlar </VirtualHost> <VirtualHost *:80> ServerName www.fedoraturkiye.com # Specify virtualhost's owner CBandUser forumlar </VirtualHost> Yani forumlar tanımının parametleri 2 tane virtualhostta geçerli kılındı. Ayrıca CbandClass komutunu da grup olarak kullanabilirsiniz. Kod:
# define 'class_1' <CBandClass class_1> CBandClassDst 217.172.231.67 CBandClassDst 127/8 CBandClassDst 192.168.0.0/24 CBandClassDst 10.0.0.20 </CBandClass> # define 'class_2' <CBandClass class_2> CBandClassDst 192.168.100.100 CBandClassDst 153.19/16 </CBandClass> <CBandUser forumlar> CBandUserLimit 1000000 CBandUserExceededURL http://www.fedoraturkiye.com/bandwidth_exceeded.html CBandUserScoreboard /var/www/scoreboard # 500MB limit for 'class_2' CBandUserClassLimit class_2 500000 </CBandUser> <VirtualHost *:80> ... CBandUser forumlar # 1GB limit for 'class_1' CBandClassLimit class_1 1000000 # a period of time after which the scoreboard will be cleared (120 seconds) # (only in >=0.9.5-rc2) CBandPeriod 120S </VirtualHost> Kod:
CBandScoreFlushPeriod 1 CBandRandomPulse On * Eğer tüm tanımlı cbandleri görmek istiyorsanız aşağıdaki şekilde apache ‘ye eklemeniz yeterli olacaktır. Örnek Kullanım : http://cband.fedoraturkiye.com/cband-status Kod:
<Location /cband-status> SetHandler cband-status Order allow,deny Allow from 127.0.0.1/32 #izin vermek istediğiniz ip adresi </Location> Örnek Kullanımı : http://cband.fedoraturkiye.com/cband-status-me Kod:
<Location /cband-status-me> SetHandler cband-status-me Order allow,deny Allow from 127.0.0.1/32 #izin vermek istediğiniz ip adresi </Location> Kod:
<IfModule mod_cband.c> <Location /cband-status> SetHandler cband-status </Location> CBandDefaultExceededURL http://www.google.com <CBandClass class_1> CBandClassDst 217.172.231.67 CBandClassDst 127/8 CBandClassDst 192.168.0.0/24 CBandClassDst 10.0.0.20 </CBandClass> <CBandClass class_2> CBandClassDst 192.168.100.100 CBandClassDst 153.19/16 </CBandClass> <CBandClass class_3> CBandClassDst 10.13/16 </CBandClass> <CBandUser dembol> CBandUserLimit 100M CBandUserExceededURL http://server_name.com/bandwidth_exceeded.html CBandUserScoreboard /home/dembol/write/user.dembol.scoreboard CBandUserPeriod 10W </CBandUser> <CBandUser dembolek> CBandUserLimit 1000000 CBandUserExceededURL http://server_name.com/bandwidth_exceeded.html CBandUserScoreboard /home/dembol/write/user.dembolek.scoreboard CBandUserClassLimit class_1 50000 CBandUserPeriod 20H </CBandUser> <CBandUser dembol.nasa.pl> CBandUserLimit 1G CBandUserExceededURL http://www.google.com CBandUserScoreboard /home/dembol/write/user.dembol.nasa.pl.scoreboard CBandUserClassLimit class_2 3000K CBandUserClassLimit class_3 100M CBandUserPeriod 2H </CBandUser> </IfModule> NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /home/dembol/public_html/dembol.nasa.pl/ ServerName dembol.nasa.pl ServerAlias *.dembol.nasa.pl Setenv VLOG /home/dembol/public_html/logs/dembol.nasa.pl.access CustomLog /home/dembol/public_html/logs/dembol.nasa.pl.access combined ErrorLog /home/dembol/public_html/logs/dembol.nasa.pl.error <IfModule mod_cband.c> CBandLimit 600M CBandUser dembol.nasa.pl CBandExceededURL http://edns.pl/bandwidth_exceeded.html CBandScoreboard /home/dembol/write/dembol.nasa.pl.scoreboard CBandClassLimit class_1 1G CBandPeriod 200S </IfModule> </VirtualHost> <VirtualHost *:80> DocumentRoot /home/dembol/public_html/dembol.nasa.pl/ ServerName dembol.eu.org ServerAlias *.dembol.eu.org Setenv VLOG /home/dembol/public_html/logs/dembol.eu.org.access CustomLog /home/dembol/public_html/logs/dembol.eu.org.access combined ErrorLog /home/dembol/public_html/logs/dembol.eu.org.error <IfModule mod_cband.c> CBandUser dembolek CBandLimit 900M CBandExceededURL http://server_name.com/bandwidth_exceeded.html CBandScoreboard /home/dembolek/write/dembol.eu.org.scoreboard CBandClassLimit class_1 700M CBandClassLimit class_2 100000 CBandClassLimit class_3 5000K CBandPeriod 5D </IfModule> </VirtualHost> <VirtualHost *:80> DocumentRoot /home/dembol/public_html/dembol.nasa.pl/cvs_alias ServerName cvs.cband.linux.pl:80 Setenv VLOG /home/dembol/public_html/logs/cvs.cband.linux.pl.access CustomLog /home/dembol/public_html/logs/cvs.cband.linux.pl.access combined ErrorLog /home/dembol/public_html/logs/cvs.cband.linux.pl.error <IfModule mod_cband.c> CBandUser dembol CBandLimit 10G CBandExceededURL http://server_name.com/bandwidth_exceeded.html CBandScoreboard /home/dembol/write/dembol.eu.org.scoreboard CBandClassLimit class_3 200M CBandPeriod 1W </IfModule> </VirtualHost> |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
Seçenekler | |
Stil | |
|
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevap | Son Mesaj |
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Facebook'ta bağlantı koptu! | PaLeRmO | Teknoloji | 0 | 7. March 2012 06:36 PM |
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Facebook'ta bağlantı koptu! | PaLeRmO | Teknoloji | 0 | 7. March 2012 05:04 PM |
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Adana'dan CERN'e bağlantı | PaLeRmO | Teknoloji | 0 | 30. March 2010 06:55 PM |
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Işık hızında bağlantı! | PaLeRmO | Teknoloji | 0 | 28. January 2010 01:15 AM |
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Işık hızında bağlantı! | PaLeRmO | Teknoloji | 0 | 26. January 2010 10:13 PM |
En Fazla Arama Yapılan 100 Kelime Aranan Kelimeler |
... |