AWS ELB의 Health Check 로그를 Nginx에서 내보내지 않도록 하는 방법

1474 단어 elbAWSnginx
Nginx에서 AWS ELB의 Health Check을 로그 출력에 액세스하지 못하게 하는 방법 설명
컨디션
메서드 프로비저닝 map $http_user_agent $loggable { ~ELB-HealthChecker 0; default 1; } access_log /var/log/nginx/access.log main if=$loggable; 해설 map과access로고로 나눠서 잠깐 설명을 해드릴게요. map map $first $second {...} 그러면 $first반환 값을 $second에 매핑 이번 상황은 $http입니다.user_에이전트, 즉 HTTP 헤더에 포함된 User 에이전트가 ELB-HealthChecker 부분과 일치하는지 여부, 일치하지 않으면 1을 $loggable에 비추기 ELB-HealthChecker 앞의 ~은 정규 표현식을 사용하는 기호입니다 ~case-sensitive, ~*case-insitive입니다. [참고] 2020년 10월까지 공식 User Agent는 ELB-HealthChecker/2.0 /향후 버전으로 변경될 가능성이 있으므로 ELB-HealthChecker 포함 여부 확인 access_log access_log에if라는 인자가 있습니다 0자 또는 공백 문자일 경우 로그가 출력되지 않습니다. 달러화 loggable의 기본값은 1이며 ELB-HealthChecker가 User Agent에 포함되어 있으면 0이므로 HealthCheck의 액세스 로그가 출력되지 않습니다. Reference
  • http://nginx.org/en/docs/http/ngx_http_core_module.html#variables
  • http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log
  • 좋은 웹페이지 즐겨찾기