Node.js에서 클라이언트의 IP 주소를 얻는 방법

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-ForForwarded (#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를 엽니다.

    이 기사를 읽어 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기