2014-03-31 5 views
0

nodejs로 작성된 작은 서버 스크립트가 있는데 클라이언트 IP를 얻고 싶습니다. 그러나 아직 내 길을 찾지 못한 것 같습니다.연결 패키지를 사용하여 클라이언트 IP 가져 오기

내 서버를 만들 때 Connect 패키지를 사용하고 있습니다.

누구나 nodejs의 Connect 패키지를 사용하여 IP를받는 방법을 알고 있습니까?

나는 또한 설명서를 여기에서 확인했습니다 : http://www.senchalabs.org/connect/하지만 찾지 못했습니다. 뭔가 놓칠 수 있습니다.

답변

0
내가 사용 내 문제 해결

을 찾습니다

var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || 
    req.socket.remoteAddress || req.connection.socket.remoteAddress; 

를 나는이 대답에서이있어 : https://stackoverflow.com/a/19524949/1358670

1

프록시 (프록시가 아닌)에 직접 연결되어 있지만 직접 시도 할 수는 없습니다. 나는 연결 - 추가 정보에서 안녕하세요 세계 예제를했다 그냥 요청 객체의 내용을 인쇄 :

var connect = require('connect') 
    , http = require('http'); 
    , util = require('util'); 

var app = connect() 
    .use(function(req, res){ 
    console.log(util.inspect(req)); 
    res.end('Hello from Connect!\n'); 
    }); 

http.createServer(app).listen(3000); 

당신이있어 모든 클라이언트 IP를 찾을 수 없을 것이다.

하지만 어쨌든 node.js- 서비스는 직접 연결하지 않고 forward-proxy, load-balancer 등으로 연결해야합니다.

머리글에서 클라이언트의 원래 IP 주소를 찾을 수 아파치의 PROXYPASS를 사용하는 경우,

req.headers['X-Forwarded-For']