Node.js를 배우고 있습니다. 웹 사이트를 만드는 동안 로컬로 웹 사이트를 실행합니다 (localhost
). 배포가 완료되면 다른 서버에서 실행됩니다. 내 질문은, 요청이 로컬 호스트에서 또는 노드에서 아닌지 어떻게 확인합니까? ASP.NET에서는 Request.IsLocal
을 사용할 수 있습니다. 나는 노드에서 어떻게하는지 알아 내려고 노력하고있다.Node.js 앱에서 요청이 로컬인지 확인
감사합니다.
Node.js를 배우고 있습니다. 웹 사이트를 만드는 동안 로컬로 웹 사이트를 실행합니다 (localhost
). 배포가 완료되면 다른 서버에서 실행됩니다. 내 질문은, 요청이 로컬 호스트에서 또는 노드에서 아닌지 어떻게 확인합니까? ASP.NET에서는 Request.IsLocal
을 사용할 수 있습니다. 나는 노드에서 어떻게하는지 알아 내려고 노력하고있다.Node.js 앱에서 요청이 로컬인지 확인
감사합니다.
서버 주소를 얻으려면 server.address()
이 있습니다. 모두가 현재 연결의 종류에 따라 (A remoteAddress
속성) 원격 주소를 보유 수로
그리고 request
는 connection
및 socket
객체가 있습니다.
그러나 서버가 역방향 프록시를 사용하는 경우 해당 헤더에서 서버를 당겨야합니다. 대부분 x-forwarded-for
입니다. 그러나 나는 프록시가 연결되어 있는지 여부를 모르겠다.
그래서, 결론, 당신의 라인을 따라 뭔가를 할 거라고 :
function cliAddress(req) {
return req.connection.remoteAddress || req.socket.remoteAddress || req.headers['x-forwarded-for'];
}
server.isLocal = function(request) {
return server.address() === cliAddress(req);
}
을 그리고 당신은 express.js ...
를 사용하는 경우 나 명시 적 사용하고 있습니다. 그러나 포함 된 링크를 이해할 수 없습니다. 'request'에'connection' 또는'socket' 객체가 보이지 않습니다. –