2017-11-17 5 views
0

내가 익스프레스 JS와 클라이언트의 IP 주소를 얻기 위해 노력하고 원격 클라이언트의 IP 주소 NodeJS를 가져 오기, 코드는 다음과 같습니다, ExpressJs

var ip; 
if (req.headers['x-forwarded-for']) { 
    ip = req.headers['x-forwarded-for'].split(",")[0]; 
} else if (req.connection && req.connection.remoteAddress) { 
    ip = req.connection.remoteAddress; 
} else { 
    ip = req.ip; 
} 
ip = (ip.length < 15 ? ip : (ip.substr(0, 7) === '::ffff:' ? ip.substr(7) : undefined)); 


console.log('ip address',ip); 

하지만 때마다 내가 얻고 로컬 호스트의 IP 주소가 아닌 공용 IP 주소 , 그래서 어떻게 localhost IP 주소 대신 공인 IP 주소를 얻을 수 있습니까? 누구든지 나를 도와 줄 수 있습니까?

미리 감사드립니다.

+1

검사 서버 인프라가로드 밸런서, 프록시 등이있는 클라이언트의 IP 주소입니다 ... 실제 서버 앞에서 위의 로컬 값은 클라이언트가 원래 연결 한 실제 공용 IP/포트가 아닌 로컬 서버를 반환 할 수 있습니다. –

답변