저는 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