2017-02-14 4 views
2

정말 흥미로운 문제가 있습니다. 나는 웹 사이트가 있고 나는 클라이언트 IP 주소를 얻고 싶다. 나는 어떤 교만을 발견했지만 그들 중 누구도 일하지 않습니다. 나는 nginx를 사용하고있다.Nodejs IP 주소 결과 : 1

내가 사용하고 expressjs

app.post("/api/test",(req, res)=>{ 
console.log(req.header('x-forwarded-for')) // result "::1" 
console.log(req.connection.remoteAddress) // result "::1" 
console.log(req.ip) // result "::1" 
}) 

나는 요 사용 3 자 freamwork을 시도했지만 같은 결과.

+0

구성상의 문제가있는 것처럼 보입니다.':: 1'은'localhost'를 의미합니다. 어떤 종류의 프록시 메커니즘을 사용합니까? 또는 서버가 로컬 컴퓨터에서 실행되고 있습니까? –

답변

0

localhost에서 작업하는 경우 이는 정상적인 것이며 서버에이 주소를 기록하면 사용자의 주소가 표시됩니다.

또는 당신은 당신이 올바른 헤더의 nginx에 대한

을 설정해야이 경우 노드 서버의 앞의 nginx 또는 유사한 역방향 프록시를 실행 중일 수 있습니다 당신은 더 많은 정보를 원하시면,이 사람에게

proxy_set_header  X-Real-IP  $remote_addr; 
proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 

체크 here 필요