Node.js에서 클라이언트의 IP 주소를 얻는 방법
6623 단어 tutorialnodebeginnersjavascript
IP 주소란 무엇입니까?
논리 주소라고도 하는 인터넷 프로토콜(IP) 주소는 네트워크에서 시스템을 고유하게 식별하는 인터넷 서비스 공급자(ISP)가 제공합니다. IP 주소는 수시로 변경됩니다.
request’s IP address 을 검색하는 작은 node.js 모듈입니다. 요청에서 특정 헤더를 찾고 존재하지 않는 경우 일부 기본값으로 돌아갑니다.
사용자 IP는 다음 순서로 결정됩니다.
X-Client-IP
X-Forwarded-For
(헤더는 "클라이언트 IP, 프록시 1 IP, 프록시 2 IP"형식으로 여러 IP 주소를 반환할 수 있으므로 첫 번째 주소를 사용합니다.) CF-Connecting-IP
(클라우드플레어) Fastly-Client-Ip
(클라우드 기능으로 전달될 때 빠른 CDN 및 Firebase 호스팅 헤더) True-Client-Ip
(Akamai 및 Cloudflare) X-Real-IP
(Nginx 프록시/FastCGI) X-Cluster-Client-IP
(랙스페이스LB, 강바닥가오리) X-Forwarded
, Forwarded-For
및 Forwarded
(#2의 변형) req.connection.remoteAddress
req.socket.remoteAddress
req.connection.socket.remoteAddress
req.info.remoteAddress
IP 주소를 찾을 수 없으면
null
를 반환합니다.Node.js에서 클라이언트의 IP 주소를 얻는 방법
클라이언트의 IP 주소를 얻기 위해 node.js의 request-ip 패키지를 사용합니다.
1단계: Node JS 앱 만들기
다음 명령을 실행하여 노드 js 앱을 만듭니다.
mkdir node-ip
cd node-ip
npm init -y
추가 읽기: How to Install Node.js and NPM On Ubuntu 20.04
2단계: Express 및 request-ip 라이브러리 설치
다음 명령을 실행하여 express 및 request-ip를 설치합니다. 일반적으로 우리는 웹 서버로 express를 사용합니다.
npm install express
npm install request-ip --save
3단계: Server.js 파일 만들기
프로젝트 루트 디렉터리에 server.js라는 파일을 만들고 해당 파일에 다음 코드를 추가합니다.
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
4단계: request-ip 패키지를 노드 애플리케이션으로 가져오기
const express = require('express')
const requestIp = require('request-ip')
const app = express()
const port = 3000
app.get('/', (req, res) => {
var clientIp = requestIp.getClientIp(req)
res.send(`Your IP Address is ${clientIp}.`)
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
5단계: 개발 서버 시작
다음 명령을 실행하여 개발 서버를 실행합니다.
node server.js
위의 명령을 실행한 후 브라우저에서
http://localhost:3000
를 엽니다.이 기사를 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(Node.js에서 클라이언트의 IP 주소를 얻는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sureshramani/how-to-get-the-ip-address-of-a-client-in-nodejs-3dj6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)