Computer/LINUX

트래픽 제한 (mod_throttle)

알찬돌삐 2012. 8. 10. 16:22

 mod_throttle

우아..이놈때문에 고생을 하두 많이해서..ㅠㅠ
이놈은 접속자가 많은 사이트에서는 쥐약이다. 프로세스 수가 이유없이 증가한다.
무슨 이유인지는 모른다. 여튼 접속자가 많은곳에서는 사용 금지!!
  이놈은 사용량을 제한 하는 것 보다는, 어느정도 사용하는지 확인 하는 정도로 사용할 것이다.


0. 아파치의 추가 모듈들을 정리해서 올릴것이다.
이놈들은 아파치 정식 모듈이 아니니.. DSO모드로 올렸다가. 이상하면 내린다.^^;


1. 가상 호스트 별 접속량 제한 (mod_throttle) 1.3.X 에만 사용가능
(1) 개념
   가상 호스트별로 접속량을 기록하여, 일정량 이상이 되면, 접속 못하게 하는
  모듈인데... 정확한 개념은 모르겠당.^^;
 

(2) 설치
   - 먼저 모듈을 구한다. 어디서 ?? 개발자 사이트에서

     http://snert.com/Software/mod_throttle/index.shtml

   - 근데... 멀리갈필요 있남^^; 받아 두었는걸.~
    http://ftp.superuser.co.kr/pub/etc/mod_throttle312.tgz

   - 설치
tar xvfz mod_throttle312.tgz
rm -rf mod_throttle312.tgz
cd mod_throttle-3.1.2

    /usr/local/apache/bin/apxs -i -a -c mod_throttle.c
 
   ## 옵션 설명.
      -i : 라이브러리 디렉토리에 so 파일 복사하라는 옵션
      -a : httpd.conf 파일에 LoadModule 설정을 하라는 옵션
      -c : 컴파일 하라는 옵션

(3) 설정
    - httpd.conf 파일을 열어서 다음과 같이 설정한다.

## 사용자별 트래픽 모니터링 하기 위한 모듈을 로드한다. (접속자 많을때는 하지말것)
LoadModule throttle_module    libexec/mod_throttle.so

#예) 전체 설정을 1일 300G 로 한다면, 아래와같다.
#ThrottlePolicy Volume 300G 1d // 1일 300 M 로 제한

          # 전체적인 상황을 보는 페이지
   
Order deny,allow
Deny from all
## 특정 ip만 열어준다.
Allow from 61.78.240.22 210.114.223.150
SetHandler throttle-status
 

  ## 사용자 자신의 접속량 점검
 
SetHandler throttle-me
 
 
SetHandler throttle-me
 
         ## 통계결과를 3초에 한번씩 갱신하여 보여준다.((기본은 60)
ThrottleRefresh 10
## 접속하는 ip들을 1000개 까지 보여주면 통계를 구하기 위해 제한을 두지 않았다.
ThrottleClientIP 1000 none
## 아이피/~doly 으로 접속을 10초에 10번으로 제한하였다.
ThrottleUser doly Request 10 10

       
## 정책들
None : 아무 정책이 없고, 단지 모니터링 용도로 사용할때 사용
Concurrent : 동시접속수를 제한하기위한 것인데.. 별루당
              (ThrottleClientIP, ThrottleRemoteUser와 같이 쓸수 없다.)
Document 요청제한수 기간 : Request와 비슷 단, html 형식의 문서만 카운트 한다.(그림파일 제외)
Idle 쉬는시간 기간 : 요청간에 쉬는 시간을 준다?? 왜???

이 글은 스프링노트에서 작성되었습니다.

.

'Computer > LINUX' 카테고리의 다른 글

RAID  (0) 2012.08.10
MIME 규격  (0) 2012.08.10
트래픽 제한 (bandwidth)  (0) 2012.08.10
웹 DOS 공격 막기  (0) 2012.08.10
압축전송  (0) 2012.08.10