CI 묻고 답하기

제목 session db 세팅시 ip_address 가 동일하게 나오는 이유를 알고 싶습니다.
글쓴이 주사마 작성시각 2014/03/27 18:31:40
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 25283   RSS
 33527ac4570e6ad31c49b7c429d4f3b2 10.0.2.2 Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36 1395872408
4c5a9235e3471815b105c6f6c2bd545f 10.0.2.2 Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/33.0.1750.15 Mobile 1395879476
88454d67dc33bde391452487ebef9f7f 10.0.2.2 Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko 1395879391
baadf7a5506a18ba813d8ffdfa50bda8 10.0.2.2 Mozilla/5.0 (Linux; Android 4.3; SHV-E210S Build/JSS15J) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.166 Mob 1395879352

디비 세션을 사용중인데, 위와 같이 ip address 부분이 동일하게 나옵니다.

이류를 모르겠습니다.

- 환경은 VirtualBox 에 Centos 사용중입니다.
- nginx 1.4.7
- php-fpm 5.5.10
 
 다음글 세션 만료시 로그 저장 방법 문의 (1)
 이전글 base_url경로 설정 질문 (1)

댓글

수야디벨 / 2014/03/27 20:44:19 / 추천 0
아파치 설정에 따라서 다릅니다. 

저도 정확히 전문 용어는 잘 모르겠지만 ,

서버에 코드이그나이터 홈페이지를 올려두고 ,

그 홈페이지를 들어가기 위해선 어차피 사용자들은 해당 소스에 있는 

서버로 접근하잖아요 ?

이때 , 아파치 설정에 의해서 그 서버 IP만 찍히는 경우가 있는데 한번 확인해 보세요.

한대승(불의회상) / 2014/03/28 08:46:47 / 추천 0
프락시서버나 로드밸러서와 같이 중계해주는 서버를 경유한다면 동일하게 나올 수 있습니다.
대표적인 케이스가 AWS 사용 할 때입니다.

아래 URL 참고 하시면 해결책이 나올 것 같습니다.

http://cikorea.net/tip/view/1219/page/1/q/ipsubject
주사마 / 2014/03/28 16:52:51 / 추천 0
 nginx 서버의 access.log를 보니

10.0.2.2 - - [28/Mar/2014:11:58:46 +0900] "GET /sample HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; InfoPath.3; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)"

위와 같이 보여졌습니다.

해당부분을 클라이언트의 ip 값으로 변경하려면 어떻게 해야될까요?

nginx 의 설정 변경을 통해서 가능할거 같긴한데.... 찾아봐도 잘 모르겟네요?

array (size=32)
  'USER' => string 'apache' (length=6)
  'HOME' => string '/var/www' (length=8)
  'FCGI_ROLE' => string 'RESPONDER' (length=9)
  'SCRIPT_FILENAME' => string '/var/www/elsider.com/html/index.php' (length=35)
  'QUERY_STRING' => string '' (length=0)
  'REQUEST_METHOD' => string 'GET' (length=3)
  'CONTENT_TYPE' => string '' (length=0)
  'CONTENT_LENGTH' => string '' (length=0)
  'SCRIPT_NAME' => string '/index.php' (length=10)
  'REQUEST_URI' => string '/sample' (length=7)
  'DOCUMENT_URI' => string '/index.php' (length=10)
  'DOCUMENT_ROOT' => string '/var/www/elsider.com/html' (length=25)
  'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8)
  'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7)
  'SERVER_SOFTWARE' => string 'nginx/1.4.7' (length=11)
  'REMOTE_ADDR' => string '10.0.2.2' (length=8)
  'REMOTE_PORT' => string '57452' (length=5)
  'SERVER_ADDR' => string '10.0.2.15' (length=9)
  'SERVER_PORT' => string '80' (length=2)
  'SERVER_NAME' => string 'elsider.com' (length=11)
  'REDIRECT_STATUS' => string '200' (length=3)
  'HTTP_HOST' => string '192.168.0.252' (length=13)
  'HTTP_CONNECTION' => string 'keep-alive' (length=10)
  'HTTP_CACHE_CONTROL' => string 'max-age=0' (length=9)
  'HTTP_ACCEPT' => string 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' (length=74)
  'HTTP_USER_AGENT' => string 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36' (length=109)
  'HTTP_ACCEPT_ENCODING' => string 'gzip,deflate,sdch' (length=17)
  'HTTP_ACCEPT_LANGUAGE' => string 'ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4' (length=35)
  'HTTP_COOKIE' => string 'PHPSESSID=9bgrv4tj8irogokho4qookosd1; csrf_play4games=2aa1c92045e27451a6f29260933bab24; ccu=8sXO1GzVH/T2EVhTNUmN7af0fboKcMRuoBKMe6ZDjVHOR9qWLZxmevbCMCau94Vij1MafOCJ7tRfVylHbRzoA1PghdzQxJ8hOHTouI4nrLnUE/KxcuX7uPHzmLDtFUD0kfhZ13HteFEOBqGaCBZJUCjS4V2PsXDcbufvYGwdki2838hYsok77fc9fGWgPH66TWS39H0phflUkmSzK4RD8bcAVIhIdk9DIQd/RnVNOyokr3svcQX8VaECf19GT2V84j7PPg6AWYHIlioUL5QTY+tMFqq57bLI1jmEWsUOmUWK4yl75dgRSzLiYNn8KLIOBXMx4TqP1tHJhXc/ZlBw0SxTL2GWO5XUo6FPYsNCkFiyP+i6gcuE8wxIDWxKQ8voNHYLwiE9/Zyj2gPhs2502E'... (length=586)
  'PHP_SELF' => string '/index.php' (length=10)
  'REQUEST_TIME_FLOAT' => float 1395993534.4346
  'REQUEST_TIME' => int 1395993534
string 'bar' (length=3)


앤드그리고 / 2014/03/30 20:01:06 / 추천 0
 저는 AWS EC2 + LBS 사용중이고, 해당 문제를 해결하기 위해
config.php  파일을 아래와 같이 수정해서 사용하고 있습니다.
10.x.x.x 부분은 db 에 10. 대 아이피가 나올 때 마다 추가를 하고 있구요~

$config['proxy_ips'] = isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] :
'10.1.3.245,
10.1.36.3,
10.101.78.13,
10.116.88.120,
10.12.20.160,
10.124.144.89,
10.130.217.8,
10.132.172.9,
10.132.201.58,
10.132.35.135,
10.132.43.116,
10.132.68.39,
10.133.39.209,
10.133.51.45,
10.134.132.150,
10.134.16.13,
10.134.29.74,
10.136.117.57,
10.138.35.67,
10.139.68.197,
10.144.204.47,
10.148.112.147,
10.149.196.210,
10.155.217.144,
10.155.24.48,
10.160.146.110,
10.164.36.15,
10.166.125.185,
10.180.168.86,
10.180.253.148,
10.191.170.49,
10.193.150.201,
10.195.38.215,
10.199.23.157,
10.202.2.2,
10.215.24.17,
10.217.134.118,
10.236.190.243,
10.237.20.38,
10.27.114.253,
10.33.205.95,
10.35.198.239,
10.41.249.55,
10.41.3.80,
10.45.149.11,
10.46.50.110,
10.48.149.45,
10.48.166.78,
10.48.170.254,
10.48.171.176,
10.48.228.62,
10.48.24.24,
10.48.64.6,
10.48.89.89,
10.49.43.191,
10.5.50.13,
10.50.226.62,
10.50.84.12,
10.51.0.2,
10.52.170.224,
10.52.234.247,
10.52.34.16,
10.52.55.254,
10.53.49.231,
10.54.1.23,
10.54.17.81,
10.54.201.198,
10.54.229.19,
10.54.36.23,
10.54.5.36,
10.54.92.122,
10.55.29.136,
10.56.52.253,
10.58.104.137,
10.65.123.128,
10.66.224.193,
10.83.132.57,
10.95.59.42'; // AWS ELB IP 추가


앤드그리고 / 2014/03/30 20:05:15 / 추천 0
$_SERVER["REMOTE_ADDR"] 가 없는 경우가 있기 때문에 10.x.x.x 아이피를 추가 했고,
10.x 아이피가 많은 이유는, ELB 아이피가 계속 바뀌더라구요.


주사마 / 2014/03/31 10:57:35 / 추천 0
위와 같은 방법으로 시도하였으나, 여전히 같은 현상이네요~ 혹시 다른 방법은 없는건가요?