앞단에 프록시 서버(proxy server)를 두고 운영하는 아파치(apache) 서버에서 아이피(IP) 문제를 전혀 신경 쓰지 않는다면, 아래처럼 아파치 서버의 접근 기록(access log)에 접근한 이의 실제 아이피(real IP)가 아니라 프록시 서버의 공인 아이피나 127.0.0.1 같은 내부 아이피가 남을 수 있다.

127.0.0.1 - - [12/Jan/2013:03:41:00 +0900] "GET /xe/12642 HTTP/1.0" 200 19329
127.0.0.1 - - [12/Jan/2013:03:41:04 +0900] "GET /1637?commentId=219 HTTP/1.0" 200 16144
127.0.0.1 - - [12/Jan/2013:03:41:04 +0900] "GET /rss HTTP/1.0" 200 294379

  이 때문에 관리자 화면에 덧글 단 사람의 아이피를 제대로 나타내지 못하는 게시판이나 블로그 도구가 몇몇 있다.주1

  먼저 앞단 프록시 서버에서 실제 아이피를 잘 전달하게 설정했다면, 아파치 서버에서는 mod_rpaf를 써서 실제 아이피정보를 전달받아 기록에 남길 수 있다. CentOS 등에서는 yum으로 mod_rpaf를 설치할 수 있다.

# yum install mod_rpaf

아파치가 설치된 서버에서 다음 내용이 들어 있는 /etc/httpd/conf.d/mod_rpaf.conf 파일을 연다.

LoadModule rpaf_module modules/mod_rpaf.so

<IfModule mod_rpaf.c>
  RPAF_Enable       On
  RPAF_ProxyIPs     127.0.0.1 127.0.0.2
  RPAF_Header       X-Forwarded-For
  RPAF_SetHostName  On
  RPAF_SetHTTPS     On
  RPAF_SetPort      On
</IfModule>

  RPAF_ProxyIPs 항목에 실제 아이피를 추적할 내부 아이피나 서버의 아이피를 쭉 적어 준다. 아파치 서비스(httpd)를 다시 시작하고 나면, 접근자의 실제 아이피 정보가 아파치의 접근 기록에 쌓인다.

<주석>
  1. 워드프레스에서 그런 문제가 나타난다. back
2013/01/18 13:07 2013/01/18 13:07
얽힌 글타래
<그물누리 / 그물터 관리> 글갈래의 다른 글
글 걸기 주소 : 이 글에 다른 글을 걸 수 없습니다

덧글을 달아 주세요