sudeep135
By:
sudeep135

Fetch real IP using proxy pass

July 3, 2017 273 views
Nginx Applications Development DigitalOcean Python Ubuntu

I am attempting to fetch the real IP of the visitor on a Flask application that I am serving using Nginx server blocks on Ubuntu, but I get the same IP with all the visitors (my droplet's IP). How do I fix this?

This is my current server config for my application.

server {
    listen 80;
    server_name subdomain.mysite.com;

    location / {
        proxy_pass http://0.0.0.0:8080;
        proxy_redirect http://0.0.0.0:8080 http://subdomain.mysite.com;

    }
}
1 Answer

@sudeep135
You need to setup the x-forwarded-for header, then read this header in your flask app to get the client's real ip address.
Check out this tutorial for more info.

Hope this helps.

Nginx is a high performance reverse proxy server and web server. In this guide, we will explore Nginx's http proxying and load balancing capabilities. We will cover how Nginx can use buffers and caching to improve the proxying experience for clients.
Have another answer? Share your knowledge.