In this tutorial, you will learn how to get the client IP address in node express js application using request ip.
A small node.js module to retrieve the request’s IP address, it looks for specific headers in the request and falls back to some defaults if they do not exist.
The user IP is determined by the following order:
X-Client-IP
X-Forwarded-For
(Header may return multiple IP addresses in the format: “client IP, proxy 1 IP, proxy 2 IP”, so we take the the first one.)CF-Connecting-IP
(Cloudflare)Fastly-Client-Ip
(Fastly CDN and Firebase hosting header when forwared to a cloud function)True-Client-Ip
(Akamai and Cloudflare)X-Real-IP
(Nginx proxy/FastCGI)X-Cluster-Client-IP
(Rackspace LB, Riverbed Stingray)X-Forwarded
,Forwarded-For
andForwarded
(Variations of #2)req.connection.remoteAddress
req.socket.remoteAddress
req.connection.socket.remoteAddress
req.info.remoteAddress
If an IP address cannot be found, it will return null
.
How to Get Client IP Address in Node Express JS
Steps to get client IP address:
Step 1 – Create Node JS App
Run the following command on cmd to create node js app:
mkdir my-app cd my-app npm init -y
Step 2 – Install Express and request-ip Library
Open again your cmd and run the following command to install express and multer dependencies in your node js app:
npm install express npm install request-ip --save
Step 3 – Create Server.js File
In this step, you need to create server.js
file and add the following code to it:
var express = require('express');
var app = express();
var requestIp = require('request-ip');
The above-given code is that creates a web server using the node js Express framework to get client ip or info.
Step 4 – Create a Route to Get the IP Address
Create route in server.js
file to get client IP address from the incoming HTTP request object:
var express = require('express'); var app = express(); var requestIp = require('request-ip'); app.get('/',function(request, response) { var clientIp = requestIp.getClientIp(request); console.log(clientIp); }); app.listen(3000, () => console.log(`App listening on port 3000`))
Click to know more about the express.
Step 5 – Test Application
You can use the following command to run the development server:
//run the below command
npm start
After that, open your browser and hit
http://127.0.0.1:3000/
Conclusion
Node js express get client ip address example. In this tutorial, you have learned how to get client ip address in node js and express js using request ip.