웹서버 튜닝 중에 이미지 파일만 별도의 웹서버로 분리하는 방법이 있다. 이 방법은 Request와 I/O 출력, 트래픽을 분산하는 효과가 있을 것이다. [출처] [apache] 아파치 웹로그파일 관리하기|작성자 향기로운 제비꽃
이런 튜닝 방법과는 다르지만 images 로그만 별개로 파일로 저장하는 방법을 소개한다.
다음은 이미지 파일은 images_log에, Codered나 Nimda 등의 warm은 warm_log 에 저장하는 설정이다.
---------------------------------
SetEnvIf Request_URI "\.gif$" except=images
SetEnvIf Request_URI "\.jpe?g$" except=images
SetEnvIf Request_URI "\.png$" except=images
SetEnvIf Request_URI "^/default\.ida" except=warm # Codered
SetEnvIf Request_URI "/root\.exe?" except=warm # Nimda
SetEnvIf Request_URI "/cmd\.exe?" except=warm
SetEnvIf Request_URI "^/NULL\.printer" except=warm #
SetEnvIf Request_URI "^/NULL\.IDA?" except=warm
SetEnvIf Request_URI "^/NULL\.ida?" except=warm
SetEnvIf Request_URI "^/NULL\.idq?" except=warm
SetEnvIf except images images
SetEnvIf except warm warm
CustomLog logs/access_log common env=!except
CustomLog logs/images_log common env=images
CustomLog logs/warm_log common env=warm
---------------------------------
URI 중에 .gif, .jpg, .jpeg, .png 로 끝나는 것은 except 변수에 images값으로 정의하고,
/default.ida, /root.exe?, /cmd.exe?, /NULL.printer, /NULL.IDA?, /NULL.ida? /NULL.idq?
등은 윈도의 IIS의 취약점을 이용한 웜 공격으로 except 변수에 warm 값으로 정의한다.
그리고 또한번 변수 except의 값이 images 인 것은 변수 images로 정의
변수 except의 값이 images 인 것은 변수 warm으로 정의
CustomLog 설정을 보면
env=!except 에 의해 image와 warm로그(except변수로 정의)를 제외한(=!) 것만 access_log
에 저장하게 된다.
마찬가지로 env=images, env=warm에 따라 각각 images_log, warm_log에 저장하게 된다.
cronolog 와 함께 쓸 때는 다음과 같이
CustomLog "|/usr/local/sbin/cronolog --symlink=/usr/local/apache/logs/access_log
/usr/local/apache/logs/access_log.%Y%m" common env=!except
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/images_log.%Y%m" common env=images
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/warm_log.%Y%m" common env=warm
'IT' 카테고리의 다른 글
MSSQL 트랜잭션 로그 관리 (0) | 2011.08.30 |
---|---|
MSSQL DB파일 이동 쿼리 (0) | 2011.08.30 |
APACHE 2.x 아파치 모듈 아파치 상태 mod_status (0) | 2010.12.27 |
APACHE 2.x 아파치 모듈 트래픽 관리 mod_cband (0) | 2010.12.27 |
SFTP 설정 (0) | 2010.12.20 |