Do Not Think!!!

Posted
Filed under 01010101

0. 문제

아마존에서 EC2 + ELB 조합으로 서버를 구성하면, 서버에 접속한 클라이언트의 IP 주소를 받아오지 못함

1. 원인

Elastic Load Balancer 에 의해 $_SERVER["REMOTE_ADDR"] 가 감춰짐
http://blog.svnlabs.com/get-remote-host-client-ip-behind-load-balancers-elb/

2. 해결

$_SERVER["HTTP_X_FORWARDED_FOR"] 를 이용

3. CodeIgniter 적용

config.php 파일 수정
[CODE]/*
|--------------------------------------------------------------------------
| Reverse Proxy IPs
|--------------------------------------------------------------------------
|
| If your server is behind a reverse proxy, you must whitelist the proxy IP
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR
| header in order to properly identify the visitor's IP address.
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
|
*/
$config['proxy_ips'] = '여기에 ELB 아이피를 추가';[/CODE]