mod-cband-0.9.6.1 버전은 자체 버그로 인해 트래픽 차단이 되지 않음, 0.9.7.5 버전을 사용할 것.


다운로드

mod-cband-0.9.7.5.gz
다운로드

cd /usr/local/src

# tar zxvf mod-cband-0.9.7.5.tgz

# cd mod-cband-0.9.7.5

* 폰트 사이즈 변경

그냥 설치 하면 폰트 사이즈가 너무 작아서 알아보기 힘듬.

컴파일 하기 전 소스를 수정

src/mod_cband.c 파일의 2487번째 줄 근처  (0.6em -> 0.9em)

"body       { font-family: sans-serif; font-size: 0.9em; }\n"

# ./configure --with-apxs=/usr/local/apache/bin/apxs

# make

# make install


apache 환경 설정

# vi httpd.conf  (모듈 자동생성)

LoadModule cband_module       modules/mod_cband.so

 

설정추가

<IfModule mod_cband.c>

    <Location /cband-status-me>

        SetHandler cband-status-me

    </Location>

    <Location /~*/cband-status-me>

        SetHandler cband-status-me

    </Location>

    <Location /cband-status>

        SetHandler cband-status

        Order deny,allow

        Deny from all

        Allow from 123.123.123

    </Location>

</IfModule>

 

 

 

트래픽 체크할 가상 호스트에 기간, 용량, 트래픽 초과시 503에러를 대신할 페이지 등을 설정합니다.

# vi httpd-vhost.conf

<VirtualHost *>

    ServerName mydomain.com    

    Document /home/www

    CBandLimit 300Mi                <<  300M 허용

    CBandPeriod 1D                  << 1일간

    CBandExceededURL http://mydomain.com/traffic_exceeded.html   << 트래픽초과시 보여지는 페이지

</VirtualHost>

 

데몬재실행

# /usr/local/apache/bin/apachectl restart

 

아래의 URL에서 cband status 를 확인할 수 있습니다.

http://mydomain.com/cband-status

 

xml 데이터도 출력이 가능합니다.

http://mydomain.com/cband-status?xml

아파치 재시작 하면 트래픽이 초기화 되는데 이를 방지하려면 아래와 같이한다.

<VirtualHost *:80>
................
................
CBandLimit 1000Mi
CbandPeriod 1D
CBandScoreboard "스코어보드파일 경로"
</VirtualHost>