1

주제: Backend 기반 Proxy 서버내에서의 REMOTE_ADDR

Lighttpd Front 에 Apache Backend Proxy 로 서비스가 구현되어 있습니다.

이로 인해서, $_SERVER['REMOTE_ADDR'] 이 모두 127.0.0.1 로 표시가 되는데,

$_SERVER['HTTP_X_FORWARDED_FOR'] 가 검출되는지 확인해서 $ip 를 return 받아야 하지 않을까 싶습니다;.

$comment['ip'] = $_SERVER['REMOTE_ADDR']; 를

$comment['ip'] = $_SERVER['HTTP_X_FORWARDED_FOR'] ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; 로

변경해서 쓰고 있습니다.

2

답글: Backend 기반 Proxy 서버내에서의 REMOTE_ADDR

$comment['ip'] = isset($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : (isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']); 는 어떨까요 smile

3

답글: Backend 기반 Proxy 서버내에서의 REMOTE_ADDR

laziel 작성:

$comment['ip'] = isset($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : (isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']); 는 어떨까요 smile

음 HTTP_CLIENT_IP 는 어디서 나오는거야?

보통 HTTP_ 로 시작하는 enviroment 는 확장형으로 만들어진 것들이라서,
기본형은 REMOTE_ADDR 로 사용하는데 .. -ㅅ-