Server dev./NGINX

[NGINX] Express 에서 사용자 IP 불러오기 오류 해결

제이스핀 2023. 5. 18. 14:17
반응형

Node (Express) 내의 라우터에서 사용자의 IP를 불러오는 방식은 다양함.

필자가 자주 사용하는 방법은 두 가지.

 

1. request 로 들어오는 header 사용

req.headers["x-real-ip"]

 

2. request-ip API 사용

const requestIp = require("request-ip")
requestIp.getClientIp(req)

 

서버를 Nginx로 구축하였을 때, IP가 0.0.0.0 혹은 127.0.0.1 (localhost) 와 같이 제대로 안 불러와지는 현상이 있음.

 

해당 경우에는 nginx.conf 설정에서 IP 가 뜨도록 설정해줄 수 있음.

 

/etc/nginx/nginx.conf  파일에서 

(설정한 환경에 따라 /etc/nginx/sites-enabled/ 에 있을 수도 있음)

아래 location 값을 추가해주자.

location / {
	proxy_set_header HOST $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_pass http://127.0.0.1:3080;
	proxy_redirect off;
}

 

반응형