NPM 실제 IP 표기에 대해 질문드립니다!
안녕하세요. 매번 질문만 드리고 죄송스러울 뿐입니다.
배워가는 사람으로써 가르쳐 드리지도 못하고 ㅠㅠ 꼭 많이 배워서 좀 더 많은걸 알리겠습니다!
서론이 길었습니다. NPM을 사용중입니다.
그누보드도 사용중이며 그누보드 기본기능에는 현재 접속자의 IP를 볼 수 있는 기능이 있습니다.
이 기능을 쓰고 싶어 알아보다가 NPM 어드벤스 탭에 아래 내용을 추가하면 실제 IP가 나올거라해서 넣어봤습니다.
set_real_ip_from 172.0.0.0/8;
real_ip_header X-Forwarded-For;
하지만 도커 주소인 172.17.0.1 or 172.17.0.2 이런식으로 도커 내부 주소가 그대로 나오고 있습니다.
혹시 따로 설정해줘야 하는게 있을까요?
셋팅은 라우터 -> NPM(80,443) -> 시놀(웹서버) 이렇게 연결이 됩니다.
NPM의 경우 브릿지 모드이며 포트를 10000으로 해서 외부 80 -> 내부 10000으로 라우터에서 연결 했습니다.
그리고 NPM에서 시놀 웹서버를 접속하기위해 www.domain.com -> https://172.17.0.1:443 으로 연결해놨습니다.
고수님들의 조언 부탁드립니다. 감사합니다!
$_SERVER['REMOTE_ADDR'] 가 아니라 $_SERVER['HTTP_X_FORWARDED_FOR'] 도 내부 아이피가 나온다는거죠? 원래 사용자 브라우져는 X_FORWARDED_FOR 값을 넣지 않기 때문에 사용자 브라우져와 처음 만나는 L7(혹은 L4)가 아니라 중간에 더 경유하는 장비가 있는걸로 보이는데요. 사용자가 서버까지 가는 경로 상 있는 장비나 프로그램을 모두 올려보시거나 직접 환경을 볼 수 있는 분의 도움이 있어야 할 것 같네요.
위 내용처럼 real ip 등을 이용해 여러단계를 거쳐온 것을 거슬러 올라가서 조회하는 옵션도 있습니다.
네. 시놀로지 내에는 iptables 설정이 추가로 되어야 한다고 합니다. 아래 링크 보시면 됩니다.
https://svrforum.com/nas/366302
cmt alert