iWiz ShareBase

IT Specialist 윤태현의 iWiz ShareBase는 IT뿐 아니라 각종 잡다한 지식들을 함께 나누는 지식공유 커뮤니티입니다.

iWiz,ShareBase,윤태현,Java,JSP,EJB,IT,정보기술,웹프로그래밍,PHP,ASP,DBMS,MySQL,서버,네트워크,server,network,WAS,웹애플리케이션,블로그,blog,웹서버,DB,오라클,oracle,mysql,JRun,웹로직,톰캣,tomcat,아파치,자동차,EF쏘나타,로또 6/45

갤러리 Pixelgrapher.com | 로또 6/45 번호생성 및 통계 데이터 | 전체기사보기 | 전체글 #1 | 전체글 #2 | 전체글 #3 | 전체글 #4 | 전체글 #5 | 전체글 #6 | 전체글 #7 | 전체글 #8 | 전체글 #9 | 전체글 #10 |
HOME iWiz
ShareBase
Remember 0523 & 0818
지식은 나눌수록 커집니다 - iWiz's ShareBase
웹프로그래밍(기타) PHP, ASP, Perl, CGI 등 각종 웹프로그래밍에 관한 자료들입니다.


  iWiz(2006-06-22 21:38:41, Hit : 9063, Vote : 0
 http://www.iwiz.pe.kr
 http://linux.xno.cc/bbs/read.php?table=bbs4&no=73

mod_throttle 모듈을 이용한 사용자 트래픽 제어


Apache + Throttle(mod_throttle) 을 이용해서 트래픽정보를 구합니다. 

[Throttle Status] 
http://자신의도메인/throttle-me 
실시간으로 볼 수 있으며 자신의 일일 트래픽량이 증가시 웹서버에서 Throttle 연동해 있기 때문에 초과시 자동적으
로 트래픽량 초과 안내 페이지가 나오면 일일 트래픽량으로 제한이므로 하루가 지나면 다시 초기화로 다시 계산해서 
그 정보가 계산됩니다. 

% - 허용된 트래픽에서 몇퍼센트를 사용
Hits - 도메인의 히트수 
Refused - 트래픽이 초과하였을때 접속하여 요청거부된 횟수
KBytes Sents - 회원님의 도메인 트래픽량 
KBytes Per Hits - 한 히트당 트래픽량의 평균치
Polocy - Volume 트래픽 제한을 양으로 계산
Limits - 트래픽 제한양 제한선 입니다.
Period - 1d 하루 24시간을 기준으로 트래픽을 계산한다는 뜻입니다.
Period Elapsed - 24시간중 소요된 시간
Idle time - 최종 히트후 요청 대기시간

참조 사이트 :  http://www.snert.com/Software/mod_throttle/ 

##############
## 설치하기 ##
##############

일반적으로 아파치에서 mod_throttle 을 연동하기 위해서는 2가지 방식의 컴파일을 지원하지만 여기서는 
DSO 방식으로 설치하도록 한다.

---------------------------------------------------------------------
STATIC 방식 (APACHE mod_throttle 부분)

./configure --disable-shared=throttle 
--add-module=/usr/local/mod_throttle-3.1/mod_throttle.c 

---------------------------------------------------------------------
DSO 방식 

cd /usr/local/mod_throttle-3.1
make install
mod_throttle.so를 apache디렉토리 libexec안에 복사해줍니다.
그런후 httpd.conf에 mod_throttle부분을 수정.
(compile시 apxs에 위치를 Makefile안에 전체경로로 변경후 make하세요.)
LoadModule throttle_module libexec/mod_throttle.so
AddModule mod_throttle.c
---------------------------------------------------------------------

아파치에서 mod_throttle 을 설치하기 위한 순서

1. 다운로드
2. 컴파일 / 설치
3. apache 설정파일 내부에서의 mod_throttle 부분을 인식
4. 버츄얼 호스팅 부분의 각 사용자마다 각각 트래픽 제어
5. 트래픽확인 

■ 다운로드
[root@www download]# wget http://www.snert.com/Software/mod_throttle/mod_throttle312.tgz
[root@www download]# tar xzf mod_throttle312.tgz
[root@www download]# cd mod_throttle-3.1.2/
[root@www mod_throttle-3.1.2]# ll
total 188
-rw-r--r--  1 111 users  7233 Dec  3  2000 CHANGES.txt
drwxr-xr-x  2 111 users  4096 Dec  2  2000 Img
-rw-r--r--  1 111 users  1525 Dec  2  2000 LICENSE.txt
-rw-r--r--  1 111 users  1009 Dec  2  2000 Makefile
-rw-r--r--  1 111 users 26492 Dec  3  2000 index.shtml
-rw-r--r--  1 111 users 97711 Dec  3  2000 mod_throttle.c
-rw-r--r--  1 111 users   277 Dec  2  2000 patch.proxy_util.c
-rw-r--r--  1 111 users     4 Dec  3  2000 version3.cnt

■ 컴파일 / 설치
[root@www mod_throttle-3.1.2]# make install
apxs -c    mod_throttle.c
gcc -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -fpic -DSHARED_MODULE -
I/usr/local/apache2/include  -c mod_throttle.c
gcc -shared -o mod_throttle.so mod_throttle.o
apxs -i -a -n 'throttle' mod_throttle.so
[activating module `throttle' in /usr/local/apache2/conf/httpd.conf]
cp mod_throttle.so /usr/local/apache2/libexec/mod_throttle.so
chmod 755 /usr/local/apache2/libexec/mod_throttle.so
cp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.bak
cp /usr/local/apache2/conf/httpd.conf.new /usr/local/apache2/conf/httpd.conf
rm /usr/local/apache2/conf/httpd.conf.new
root@www mod_throttle-3.1.2]# apachectl restart


■ apache 설정파일 내부에서의 mod_throttle 부분을 인식

<IfModule mod_throttle.c>
# 트래픽이 초과되면 나오는 에러페이지
ErrorDocument 503 http://192.168.1.1/error/error.html
ThrottlePolicy none

<Location /throttle-status>
SetHandler throttle-status
Deny from all
# 다른접근을 모두 거부하고 특정 아이피에서만 throttle-status 를 확인 하도록 설정
# 여기서는 192.168.1.1 과 192.168.1.2 의 IP 주소만 접근할 수 있다.
Allow from 192.168.1.1
Allow from 192.168.1.2
</Location>

<Location /throttle-me>
SetHandler throttle-me
</Location>
<Location /~*/throttle-me>
Order deny,allow
Deny from all
Allow from all
SetHandler throttle-me
</Location>
</IfModule>

■ 버츄얼 호스팅 부분의 각 사용자마다 각각 트래픽 제어

  트래픽을 걸때의 여러가지 방법이 존재한다.
  ThrottlePolicy Volume 100M 1d //하루 100M
  ThrottlePolicy Request 1000 1d //하루 천번
  ThrottleClientIP 1100 volume 2 10   //로그 1100k 

<VirtualHost 192.168.1.1>
    ServerName test1.com
    DocumentRoot /home/test1/pubic_html
    
    # 전송량 1일 300M
    ThrottlePolicy Volume 300M 1d  
</VirtualHost>
<VirtualHost 192.168.1.1>
    ServerAdmin webmaster at test2.com
    DocumentRoot /home/test2/public_html
    ServerName  test2.com
    
    # 전송량 1일 400M
    ThrottlePolicy Volume 400M 1d
</VirtualHost>
<VirtualHost 192.168.1.1>
    ServerAdmin webmaster at test3.org
    DocumentRoot /home/test3/public_html
    ServerName  test3.org
    
    # 전송량 1일 500M
    ThrottlePolicy Volume 500M 1d
</VirtualHost>

■ 트래픽확인

1. 첫번째방법은 자신의 트래픽만 보는 방법 ( 일반 사용자인 경우 )

 http://자신의도메인/throttle-me

2. 두번째방법은 모든 가상호스트를 보는 방법 ( 관리자인 경우 )
( ※ 중요!!! 이때는 아무나 접근할 수 없도록 접근 IP 막는 조치를 취해야 한다. 그렇지 않으면 모든 사용자의
     정보를 다른 사용자가 볼 수도 있고 트래픽을 초기화 할 수도 있다. )

http://자신의도메인/throttle-status
* iWiz님에 의해서 게시물 이동되었습니다 (2010-02-03 17:00)



  mod_throttle 모듈을 이용한 사용자 트래픽 제어  iWiz 2006/06/22 9063 0
61   Tomcat-Apache using JK2 connector  iWiz 2004/03/21 7800 41
60   RedHat 9.0에서의 JRun JSP 컴파일러의 문제점  iWiz 2004/01/04 5553 50
59   RedHat 9.0에서의 JRun-Apache 커넥터의 문제점  iWiz 2004/01/04 5187 48
58   JRun 4.0의 튜닝 관련 옵션  iWiz 2004/01/04 5945 68
57   JRun 4.0의 Activity 모니터링 방법  iWiz 2004/01/04 4921 57
56   JRun4.0: DataSource 커넥션풀 관련 옵션 [4]  iWiz 2004/01/04 6664 46
55   JRun에서 JSP 컴파일시 java 파일 생성하기  iWiz 2004/01/04 8068 63
54   JRun의 실제 서비스 운영시 고려사항  iWiz 2004/01/04 6373 44
53   수정된 인터넷 익스플로러에서 상호작용 ActiveX 컨트롤 활성화 가이드  iWiz 2006/03/03 8457 4
52   HTML 특수기호 엔터티(Entity) 테이블 [2]  iWiz 2006/03/03 14183 2
51   웹사이트의 새로운 혁명 Ajax [13]  iWiz 2005/11/22 5870 6
50   MSN 메신저 친구 자동등록 스크립트  iWiz 2004/10/12 6192 35
49   JavaScript MD5 해쉬 생성 함수  iWiz 2004/01/07 9080 35
48   JavaScript로 만든 진법변환 및 보수계산기 [4]  iWiz 2004/01/04 160613 51

1 [2][3][4][5]
 

Copyright 1999-2023 Zeroboard / skin by zero
iWiz ShareBase, ⓒCopyleft by iWiz.  For more information contact .
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며, 이를 위반시에는 정보통신망법에 의해 형사처벌됨을 유념하시기 바랍니다. [게시일 2004. 1. 31]