아파치 X-Forwarded-For 로그 설정

Jmnote (토론 | 기여)님의 2016년 5월 28일 (토) 15:03 판 (→‎아파치 설정)
아파치 로그 X-Forwarded-For 설정

1 문제상황

  • 아파치 로그에 로드밸런서[1] IP밖에 찍히지 않는다..
  • 실제 클라이언트 IP 주소를 기록하고 싶다.
root@zetawiki:~# cat /var/log/apache2/access.log | cut -d' ' -f-6
... (생략)
135.79.246.70 - - [28/May/2016:14:58:46 +0900] "GET
135.79.246.70 - - [28/May/2016:14:58:46 +0900] "GET
135.79.246.70 - - [28/May/2016:14:58:46 +0900] "GET
135.79.246.70 - - [28/May/2016:14:58:47 +0900] "GET
135.79.246.70 - - [28/May/2016:14:58:48 +0900] "GET

2 사전작업

  • 로드밸런서 측에 클라이언트 IP를 X-Forwarded-For 헤더 정보로 넘겨주는 설정이 되어 있어야 한다.
예: Varnish X-Forwarded-For 설정

3 아파치 설정

root@zetawiki:~# cat /etc/apache2/apache2.conf | grep -i ^LogFormat
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combine
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
root@zetawiki:~# vi /etc/apache2/apache2.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combine
#LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

4 참고 자료

  1. 여기서는 varnish
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}