I have ngnix proxying to a nodejs server. I am trying to read the request client ip address/host name in my nodejs, but it’s always
But in my nginx access log, I can see the client ip address printed, not sure why my nodejs server can’t get it.
x.x.x.x - - [24/Aug/2017:14:28:01 -0700] "GET ...."
Here is Solutions:
We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.
Add the following to your nginx configuration stanza that proxies to NodeJS:
proxy_set_header X-Real-IP $remote_addr;
Now you can read the header ‘X-Real-IP’ in NodeJS
proxy_set_header X-Real-IP $remote_addr; as setting in location block where you are proxying the request.
In the server use the attribute “HTTP_X_REAL_IP”
For Example in python:
Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂