Apache 로그에서 내부 요청 제외

Apache 로그에서 내부 요청 제외

저는 Ubuntu 서버에서 Apache2를 실행하고 있습니다. 하위 프로세스를 관리하기 위한 Apache의 내부 요청에 대한 광범위한 로그가 있습니다. 로그 파일은 다음과 같은 줄로 채워집니다.

::1 - - [10/May/2015:23:16:31 +0200] "OPTIONS * HTTP/1.0" 200 125 "-" "Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.9 OpenSSL/1.0.1f (internal dummy connection)"
::1 - - [10/May/2015:23:16:32 +0200] "OPTIONS * HTTP/1.0" 200 125 "-" "Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.9 OpenSSL/1.0.1f (internal dummy connection)"
::1 - - [10/May/2015:23:16:33 +0200] "OPTIONS * HTTP/1.0" 200 125 "-" "Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.9 OpenSSL/1.0.1f (internal dummy connection)"

그래서 나는 그들을 제외하고 아래 지침을 따르기로 결정했습니다.내부 가상 연결.

<VirtualHost *:80
  ...
  SetEnvIf Remote_Addr "127\.0\.0\.1" loopback
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined env=!loopback
</VirtualHost>

다음 명령을 사용하여 Apache를 다시 시작하십시오.service apache2 restart

나는 여전히 몇 초마다 로그 라인을 얻습니다.

뭐가 문제 야? 이 줄을 VirtualHost 정의 외부에 배치해야 합니까?

답변1

또 다른 해결책은가상 호스트루프백 인터페이스의 모든 요청을 캡처하여 다른 로그 파일로 보내거나 전혀 기록하지 않는 구성 파일 시작 부분의 섹션:

<VirtualHost 127.0.0.1:80 [::1]:80>
        # catch local requests
        ErrorLog ${APACHE_LOG_DIR}/error_local.log
        Loglevel warn
        CustomLog ${APACHE_LOG_DIR}/access_local.log combined
</VirtualHost>

답변2

KM이 제안한 대로 해결책은 IPv6를 고려하는 것입니다.

이 줄을 다음으로 바꿨습니다.

SetEnvIf Remote_Addr "::1" loopback
SetEnvIf Remote_Addr "127\.0\.0\.1" loopback
CustomLog logs/access_log combined env=!loopback

관련 정보