access_log에_options_http_1.0_가_기록되는_이유

Access log에 "OPTIONS * HTTP/1.0" 가 기록되는 이유

InternalDummyConnection
아파치 웹 서버가 자식 프로세스를 관리 할 때 새로운 연결을 기다리고있는 프로세스를 깨우는 방법이 필요합니다. 이렇게하기 위해 간단한 HTTP 요청을 다시 자신에게 보냅니다. 이 요청은 원격 주소가 루프백 인터페이스 (일반적으로 IPv6가 구성된 경우 127.0.0.1 또는 :: 1)로 설정된 access_log 파일에 나타납니다. 조합 된 로그 형식과 같이 User-Agent 문자열을 로그하면 비 SSL 서버 에서 서버 서명 뒤에 “ (내부 더미 연결) “이 표시됩니다. 특정 기간 동안 각 httpd 하위 프로세스 에 대해 하나의 요청을 볼 수 있습니다.

참조링크 : https://wiki.apache.org/httpd/InternalDummyConnection

apache 의 access_log 에 아래와 같은 로그가 주기적으로 생성되는 것을 볼 수 있다.

127.0.0.1 - - [02/Sep/2012:08:02:53 +0900] "OPTIONS * HTTP/1.0" 200 152 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"

해당 로그가 방대하게 발생되면, error_log 에 아래와 같은 메세지를 출력하면서 apache 가 정상적으로 응답하지 않는 현상도 발생된다.

FATAL: emalloc(): Unable to allocate 80496387 bytes

위와 같은 증상을 방지하기 위해서는 아래와 같이 httpd.conf 파일에서 SetEnvIf 지시자를 이용하여 회피가 가능하다.

SetEnvIf Remote_Addr "::1" loopback
SetEnvIf Remote_Addr "127\.0\.0\.1" loopback

CustomLog logs/access_log combined env=!loopback

마지막으로 apache 를 재구동하면 해당 로그는 더 이상 생성되지 않음을 확인할 수 있다.

로그인하면 댓글을 남길 수 있습니다.
  • access_log에_options_http_1.0_가_기록되는_이유.txt
  • 마지막으로 수정됨: 2017/06/02 06:36
  • 저자 koov