클라우드 서버는 $_SERVER['REMOTE_ADDR'] 사용 못하나요? 채택완료
접속고객의 IP를 확인하는 $_SERVER['REMOTE_ADDR'] 명령어가
클라우드서버에서는 사용이 불가능한가요?
최근 가비아 클라우드를 사용하게 되었는데
<?php echo $_SERVER['REMOTE_ADDR']; ?> 를 찍으니까
10.7.2.10 이렇게 사설아이피가 표시되더군요.
이것이 클라우드 서비스를 받는 경우에는 어쩔수 없이 받아 들여야 하는 건가요?
아니면 클라우드 제공사의 기술 또는 정책으로 인한 건가요?
혹시 클라우드 서비스를 받고 있다면 여러분의 클라우드 서버에서는 어떻게 표시되나요?
내 아이피가 표시되나요? 아니면 클라우드 서버의 사설아이피가 보이나요?
답변 4개
가비아, 네이버 클라우드
정상적으로 출력됩니다.
$ip = isset($_SERVER['HTTP_CLIENT_IP'])?$_SERVER['HTTP_CLIENT_IP']:isset($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR'];
프록시 서버와 연관이 있는 것 같은데, 관련 자료 찾아보시기 바랍니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
현재 파악된 바로는 앞의것은 리얼아이피, 뒤의것은 사설아이피가 표시되더라구요
다른 cdn 은 어떤지 경험하지 못해서...
라고 하셨는데요.. 이때 IP가 어떻게 보이는지 알려주시면 ...
앞의것과 뒤의것중에서 어느것과 내 컴퓨터 아이피인가요?
댓글을 작성하려면 로그인이 필요합니다.
보통 클라우드 서버를 사용하거나
프록시 서버를 사용하는 환경
두개가 중첩되는 환경에서는
[클라이언트] - [gateway/공유기] - [DNS]-------[DNS]----[Proxy / 서버] -- [ cloud server ]
이런 접근들이 되는 구조라는걸 염두하시면 고민을 덜하실겁니다.
클라이언트가 여러단계로 인식되기때문에 '잉끼s'님의 방식으로 접근해야 합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
<?php
$ip1 = $_SERVER['HTTP_CLIENT_IP'];
$ip2 = $_SERVER['HTTP_X_FORWARDED_FOR'];
$ip3 = $_SERVER['REMOTE_ADDR'];
echo "ip1=".$ip1."<br>";
echo "ip2=".$ip2."<br>";
echo "ip3=".$ip3."<br>";
?>
ip1=
ip2=123.123.123.123, 10.7.2.11
ip3=10.7.2.10