nginx 로그에 사용자 이름 또는 사용자 ID를 저장할 수있는 방법이 있습니까? log_format 지시문에 $ remote_user를 삽입하려고 시도했지만 작동하지 않는 것 같습니다.
답변
예, 가능합니다. 그러나 HTTP 기본 인증을 사용하지 않기 때문에 현재 사용자 이름이 무엇인지 Nginx에 알리려면 응용 프로그램이 필요합니다. 다음 행을 따라 응답 헤더를 추가하십시오.
X-Username: nishant
그런 다음 log_format
지시문에서 변수를 사용하십시오 $sent_http_x_username
. 이 동작은 여기에 설명되어 있습니다 : http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER
또한 클라이언트에 보내기 전에 응답에서이 추가 헤더를 제거하는 것이 좋습니다. NginxHttpHeadersMoreModule을 사용하여이를 수행 할 수 있습니다 .
more_clear_headers 'X-Username';